Ich habe wirklich Probleme, meinen ersten AXIS SOAP-Client zum Laufen zu bringen. Ich verwende Axis v1.4.Axis 1.4: SOAP-Anfrage kann nicht bearbeitet werden
Unsere WSDL enthält dieses:
....
<element name="GetParameters">
<complexType>
<sequence>
<element name="param1" type="codeapi:SomeParam"/>
<element name="param2" type="unsignedShort" minOccurs="0"/>
<element name="param3" type="string" minOccurs="0"/>
<element name="param4" type="unsignedShort" minOccurs="0"/>
<element name="param5" type="unsignedShort" minOccurs="0"/>
<element name="param6" type="string" minOccurs="0"/>
<element name="param7" type="string" minOccurs="0"/>
<element name="param8" type="string" minOccurs="0"/>
<element name="param9" type="codeapi:AnotherParam" minOccurs="0"/>
</sequence>
</complexType>
</element>
....
Ich habe lief wsdl2java den Code zu generieren.
-
Ich Initialisierung des Port:
SimpleProvider conf = new SimpleProvider(new BasicClientConfig());
conf.setGlobalRequest(new LoggingHandler(LOG, Level.FINE,
"Request sent:\n"));
conf.setGlobalResponse(new LoggingHandler(LOG, Level.FINE,
"Response received:\n"));
MyService = new MyServiceLocator(conf);
URL myServiceURL = "http://<removed>";
MyServicePort myServicePort = myService.getMyServiceSOAPPort(myServiceUrl);
-
Mein erster Versuch, den Zugriff auf die Anfrage:
SomeParam param1 = new SomeParam();
param1.setParamA("blah"); // this is the only needed parameter
Entry[] allEntries = myServicePort.getParameters(param1, null, null, null, null, null, null, null, null);
Dies führt Nullpointer (auf der Clientseite), obwohl alle Nullparameter optional sind.
-
Mein zweiter Versuch:
SomeParam param1 = new SomeParam();
param1.setParamA("blah");
Entry[] allEntries = myServicePort.listCodes(param1, new UnsignedShort(), new StringHolder(), new UnsignedShort(), new UnsignedShort(), new String(), new String(), new String(), new AnotherParam());
Diese in keiner Ausnahme führt, aber Null-Wert zurückgegeben allEntries, und ich habe keine Ahnung, ob eine SOAP-Anforderung tatsächlich gesendet wurde (die meisten wahrscheinlich nicht).
Der Code läuft auf Oracle AS. In beiden Fällen wird keine einzige Debug-Informationszeile von Axis in das Protokoll geschrieben, obwohl alle verschiedenen Debug-Klassen in Oracle aktiviert wurden und LoggingHandler initialisiert wurden.
Was mache ich hier falsch?
Das scheint der Fall zu sein. Vielen Dank! – tputkonen