19. november 2003 - 12:33Der er
2 kommentarer og 1 løsning
Axis - responses uden Soap-messages
Jeg benytter Axis til en Soap-forbindelse. Jeg prøver at få en klient til at sende en request til en server.
Hvis der er fejl i min soap-besked, vil serveren returnere med en soap-fault. Hvis alt derimod går godt, returneres blot en http response code 200 + nogle andre headere, men ingen Soap-message.
Dette giver følgende fejl når jeg bruger Axis:
"org.xml.sax.SAXParseException: Premature end of file"
Jeg går ud fra at det skyldes at der ikke er nogen Soap-message, da det virker hvis jeg sætter en message ind.
Koden er autogenereret med wsdl2java, som selv sætter returntype til: "org.apache.axis.encoding.XMLType.AXIS_VOID"
Hvordan kan jeg undgå at Axis fejler, når det i virkeligheden er gået godt ?
- bruger både client og server siden Axis ? (det formoder jeg siden valg af J2EE kategorien antyder at det er Axis på server side og brugen af wsdl2java antyder at det er Axis på client side)
- Axis 1.1 ?
- og er det korrekt forstået at metoder som returnerer en værdi virker men at vodi metoder fejler ?
- deployer du bare jws filer eller bruger du em wsdd ?
Jeg ved intet om serveren andet end den står i Finland og skulle være Soap-kompatibel. Webservicen har andre udviklet og jeg kender ikke til hvordan den er deployed. At jeg har valgt J2EE-kategorien skyldes, at serveren skulle køre Java og fordi jeg selv bruger Axis 1.1 til java. Jeg kunne ikke lige finde en Soap-kategori.
På min maskine genereres en void-metode i receive-delen ud fra wsdl'en, så vi kan vel godt gætte på, at serveren også er en void.
Kort og godt skal jeg bare vide hvordan jeg får Axis til at acceptere et svar fra en Soap-enabled server - uanset om den indholder en Soap-message eller ej.
Kan tilsyneladende ikke lade sig gøre uden at ændre i Axis' sourcecode.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.