Hallo zusammen,
ich versuche jetzt seit zwei Tagen mit Java auf einen Soap-Server zuzugreifen, mittlerweile klappt das Anfrage senden auch schon, zwar sieht das gesendete XML verdammt komisch aus, aber es geht
Als Antwort bekomme ich das hier zurück:
mich interessiert primär die nt_user_session.
ich bekomme aber diese Exception:
SOAPException: faultCode=SOAP-ENV:Client; msg=
No Deserializer found to deserialize a &http://<IP>/NicToolServer/SOAP:s-gensym2892&
using encoding style &http://schemas.xmlsoap.org/soap/encoding/&.; targetException=java.lang.IllegalArgumentException:
No Deserializer found to deserialize a 'http://<IP>/NicToolServer/SOAP:s-gensym2892'
using encoding style 'http://schemas.xmlsoap.org/soap/encoding/'.
Mein Javacode sieht bis jetzt so aus:
Ich weiss nicht genau, wie ich das hinkriegen soll, meine Vermutung wäre mit Hilfe von SOAPMappingRegistry und ArraySerializer. Aber wie ich es auch mache, es gelingt mir nicht.
Ich weiss nicht ob es von Bedeutung ist, aber der Tag </s-gensymXXXX> hat hinten eine 4 stellige Nummer, die nie gleich ist.
Kann mir da jemand einen Rat geben?
ich versuche jetzt seit zwei Tagen mit Java auf einen Soap-Server zuzugreifen, mittlerweile klappt das Anfrage senden auch schon, zwar sieht das gesendete XML verdammt komisch aus, aber es geht
Als Antwort bekomme ich das hier zurück:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:apachens="http://xml.apache.org/xml-soap"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<loginResponse xmlns="http://<IP>/NicToolServer/SOAP">
<s-gensym2892>
[...]
<deleted xsi:type="xsd:int">0</deleted>
<nt_user_session xsi:type="xsd:string">45ae8d15244ee71f</nt_user_session>
<first_name xsi:type="xsd:string">Johannes</first_name>
</s-gensym2892>
</loginResponse>
</soap:Body>
</soap:Envelope>
mich interessiert primär die nt_user_session.
ich bekomme aber diese Exception:
SOAPException: faultCode=SOAP-ENV:Client; msg=
No Deserializer found to deserialize a &http://<IP>/NicToolServer/SOAP:s-gensym2892&
using encoding style &http://schemas.xmlsoap.org/soap/encoding/&.; targetException=java.lang.IllegalArgumentException:
No Deserializer found to deserialize a 'http://<IP>/NicToolServer/SOAP:s-gensym2892'
using encoding style 'http://schemas.xmlsoap.org/soap/encoding/'.
Mein Javacode sieht bis jetzt so aus:
Code:
Call call = new Call();
Response resp;
Vector<Parameter> params = new Vector<Parameter>();
Hashtable<String, String> p = new Hashtable<String, String>();
p.put("username", username);
p.put("password", password);
params.addElement( new Parameter("data", p.getClass(), p, null));
call.setTargetObjectURI( actionuri );
call.setMethodName( "login" );
call.setEncodingStyleURI( Constants.NS_URI_SOAP_ENC );
call.setParams( params );
// ich denke hier fehlt noch was
resp = call.invoke( new URL( endpoint ), actionuri );
Ich weiss nicht genau, wie ich das hinkriegen soll, meine Vermutung wäre mit Hilfe von SOAPMappingRegistry und ArraySerializer. Aber wie ich es auch mache, es gelingt mir nicht.
Ich weiss nicht ob es von Bedeutung ist, aber der Tag </s-gensymXXXX> hat hinten eine 4 stellige Nummer, die nie gleich ist.
Kann mir da jemand einen Rat geben?