2009-06-09 8 views
1

Ich habe eine einfache .NET-Anwendung, die einen SOAP-Aufruf an einen Axis-Webdienst von Drittanbietern sendet. Wenn ich den HTTP-Verkehr nachverfolge, sehe ich, dass die Anfrage gut aussieht, aber ich bekomme eine Ausnahme: "Response ist nicht wohlgeformtes XML." Das Rückgabeobjekt ist null, da das XML scheinbar nicht deserialisiert werden kann..NET-Client erhält "nicht wohlgeformte" XML-Antwort von Axis-Webdienst

Eine Frage zu den verschiedenen Namespace-Deklarationen innerhalb der WSDL. Einige dieser Deklarationen verweisen auf URLs/Domänen, die nicht mehr existieren. Könnte das irgendwelche Probleme verursachen?

aus dem WSDL-Dokument:

<wsdl:definitions targetNamespace="http://domaindoesntexist.com/" 
xmlns:apachesoap="http://xml.apache.org/xml-soap" 
xmlns:impl="http://domaindoesntexist.com/" 
xmlns:intf="http://domaindoesntexist.com/" 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 

Eine Probe HTTP-Antwort mit entfernt belastenden Daten:

HTTP/1.1 200 OK 
Server: Apache-Coyote/1.1 
Content-Type: text/xml;charset=utf-8 
Transfer-Encoding: chunked 
Date: Fri, 05 Jun 2009 13:54:59 GMT 

7cb 
<?xml version="1.0" encoding="utf-8"?> 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<soapenv:Body> 
<someMethod xmlns="http://test.com/services/myservice/"> 
</someMethod> 
</soapenv:Body> 
</soapenv:Envelope> 
0 
+0

Haben Sie das jemals erfolgreich gelöst? Brauchst du noch Hilfe dabei? – jcolebrand

+0

Wir haben das gelöst, aber leider kann ich mich nicht an die Ursache des Problems erinnern, da es fast anderthalb Jahre her ist. – Tex

Antwort

0

Mehrere dieser Erklärungen zeigen auf URLs/Domänen, die nicht mehr existieren. Könnte das Probleme verursachen?

Sicher. Haben Sie versucht, den Webservice in Ihrem Projekt zu aktualisieren?

+0

Der Webservice wird von einem Dritten gewartet, daher kann ich ihn nicht aktualisieren. Sie behaupten, dass sie die WSDL verwenden, um funktionierende Axis-Clients zu generieren. aus dem WSDL-doc: Tex

+0

Ist der Webservice öffentlich, damit ich ihn debuggen kann? Was für ein Projekt ist das? Haben Sie den Webservice-Verweis über Visual Studio erstellt oder versuchen Sie, diesen von Grund auf neu zu erstellen? –

1

Ich habe die Erfahrung gemacht, dass Namespace-URLs keine tatsächlich vorhandenen URIs sein müssen. Konsistenz ist das, was gewünscht wird, sodass interne XML-Schemas für die Validierung erstellt werden können. Die Absicht war (ich glaube), die Namespace-Definition an diesem Ort zu hosten, so dass Entwickler dorthin gehen und es ausprobieren konnten, aber dann wurden die Leute faul.

Ich kann tatsächlich in letzter Zeit ziemlich falsch liegen.

0

Ich hatte ein ähnliches Problem und nach einem Blick in Wireshark Spuren wurde festgestellt, dass es ein Proxy-Server, die

webservice xml wird einige Header in der XML-Nutzlast wird das Einfügen versucht

„Content laden -Art: text/xml; charset = utf-8 Vary: Accept-Encoding, User-Agent Anschluss: schließen Transfer-Encoding: chunked 2rZ3fnB2rMzDjipXgQz8ObOcEczeOIO74sa17YK5hrPkt62qce12BItOmuvPrC/WD8N3xZzBeBceBbiAA0IlsR2aXxd479Es7wO9va2cGpF/cc284gI.K5FXbOR5PUPx00EqNRjCdbdU4fv/JXN2alGDzGVlgCnRK5/6DJlAkcED2011-0 6-08T15: 35: 21.505Z "

die offensichtlich nicht laden wird.

Der komplette TCP-Stream in meinem Fall

POST/ls/ws/Auth HTTP/1.1

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0 .50727.3615)

Inhaltstyp: text/xml; charset = UTF-8

Soapaction: ""

Host: ??????

Content-Length: 487

erwarten: 100-Continue

Connection: Keep-Alive-

2PUldqLs2KqUkJryFiZPQJI.D6RCixeMu443SLd7dCF2qrzws0E2JYatTqm8wD2CuFrSVHEjvJHIXfiLy6w9yBagentfp093.0.1.9019HTTP/1.0 200 OK

Datum: Mi, 08 Jun 2011 15:35:21 GMT

Server: Apache-Coyote/1.1

Content-Type: text/xml; charset = utf-8

Vary: Accept-Encoding, User-Agent

X-Cache: MISS von dgtproxy1.skybroadband.com.ph

Anschluss: schließen

.1

Content-Type: text/xml; charset = utf-8

Vary: Accept-Encoding, User-Agent

Anschluss: schließen

Transfer-Encoding: Chunked

2rZ3fnB2rMzDjipXgQz8ObOcEczeOIO74sa17YK5hrPkt62qce12BItOmuvPrC/WD8N3xZzBeBceBbiAA0IlsR2aXxd479Es7wO9va2cGpF/cc284gI.K5FXbOR5PUPx00EqNRjCdbdU4fv/JXN2alGDzGVlgCnRK5/6DJlAkcED2011-06-08T15: 35: 21.505Z

Verwandte Themen