Interesting. The Java file I have is different than the one you have. I'm assuming that we are both using the same WSDL? Here is the sample response I get when I send a request to SoapUI. The mock webservice in SoapUI was created using the WSDL you sent.
<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.krms.kone.com/"><soapenv:Body>
<ws:getEquipmentInfoResponse>
<return>
<equipmentNumber>?</equipmentNumber>
<errorMessage>?</errorMessage>
<language>?</language>
<sapEquipmentNumber>?</sapEquipmentNumber>
<serialNumber>?</serialNumber>
</return>
</ws:getEquipmentInfoResponse>
</soapenv:Body></soapenv:Envelope>
I see fields for language and errorMessage as well. My only guess is that the web service is sending back a response that the client isn't expecting. Somehow they are out of sync. Usually, being out of sync gives you an exception, which is why this is weird. Below is my Java file:
package connectivity.ws.operations;
/**
* This class is generated automatically. Manual edits must be outside of the tagged
* areas (for example, "START:CLASS:..." and "END:CLASS:..."). Changes within the
* tag areas will be overwritten when the web service operation is regenerated.
* Last generated by Orchestration Designer at: 2013-NOV-11 12:13:19 PM
*/
public class untitled5 extends com.avaya.sce.runtime.connectivity.ws2.CallService {
//{{START:CLASS:FIELDS
//}}END:CLASS:FIELDS
/**
* Constructor for untitled5.
*/
public untitled5( com.avaya.sce.runtimecommon.IRuntimeSession mySession ) {
//{{START:CLASS:CONSTRUCTOR
super(mySession);
//Web Service
setServiceName("EquipmentWebServiceService");
setSOAPAction("http://ws.krms.kone.com/EquipmentWebService/getEquipmentInfoRequest");
setTimeoutSecondsFromParameter("EquipmentWebServiceService_1384200797611TimeoutSeconds");
setEndpointFromParameter("EquipmentWebServiceService_1384200797611EndpointUrl");
setAuthenticationFromParameter("EquipmentWebServiceService_1384200797612Authentication");
setPasswordFromParameter("EquipmentWebServiceService_1384200797612Password");
setUsernameFromParameter("EquipmentWebServiceService_1384200797612Username");
setUsernameTokenTimeoutFromParameter("EquipmentWebServiceService_1384200797612UserNameTokenTimeout");
setSendPasswordInClearFromParameter("EquipmentWebServiceService_1384200797613SendPasswordInClear");
//Operation
setOperation(new javax.xml.namespace.QName("http://ws.krms.kone.com/", "getEquipmentInfo"));
setOperationNSPrefix("");
setWrappedStyle(true);
//Input parameters
{
com.avaya.sce.runtime.connectivity.ws2.WsParam param1 = new com.avaya.sce.runtime.connectivity.ws2.WsParam(new javax.xml.namespace.QName("http://ws.krms.kone.com/", "getEquipmentInfo"), new javax.xml.namespace.QName("connectivity.ws.beans5", "GetEquipmentInfo"));
param1.setWrapped(false);
param1.setArray(false);
param1.setUseJavaObject(false);
param1.setNsPrefix("ns1");
{
com.avaya.sce.runtime.connectivity.ws2.WsParamField field2 = new com.avaya.sce.runtime.connectivity.ws2.WsParamField(new javax.xml.namespace.QName("", "equipmentNumber"), new javax.xml.namespace.QName("", "long"), param1);
field2.setNsPrefix("ns1");
field2.setDDVariableName("equipmentNumber");
field2.setUseJavaObject(false);
param1.addField(field2);
}
addInParameter(param1);
}
//Output parameters
{
com.avaya.sce.runtime.connectivity.ws2.WsParam param1 = new com.avaya.sce.runtime.connectivity.ws2.WsParam(new javax.xml.namespace.QName("http://ws.krms.kone.com/", "getEquipmentInfoResponse"), new javax.xml.namespace.QName("connectivity.ws.beans5", "GetEquipmentInfoResponse"));
param1.setWrapped(false);
param1.setArray(false);
param1.setUseJavaObject(false);
param1.setNsPrefix("ns1");
{
com.avaya.sce.runtime.connectivity.ws2.WsParamField field2 = new com.avaya.sce.runtime.connectivity.ws2.WsParamField(new javax.xml.namespace.QName("", "return"), new javax.xml.namespace.QName("", "EquipmentInfo"), param1);
field2.setNsPrefix("ns1");
field2.setDDVariableName("return1");
field2.setUseJavaObject(false);
{
com.avaya.sce.runtime.connectivity.ws2.WsParamField field3 = new com.avaya.sce.runtime.connectivity.ws2.WsParamField(new javax.xml.namespace.QName("", "equipmentNumber"), new javax.xml.namespace.QName("", "long"), field2);
field3.setNsPrefix("ns1");
field3.setDDVariableName("");
field3.setUseJavaObject(false);
field2.addField(field3);
}
{
com.avaya.sce.runtime.connectivity.ws2.WsParamField field3 = new com.avaya.sce.runtime.connectivity.ws2.WsParamField(new javax.xml.namespace.QName("", "errorMessage"), new javax.xml.namespace.QName("", "java.lang.String"), field2);
field3.setNsPrefix("ns1");
field3.setDDVariableName("");
field3.setUseJavaObject(false);
field2.addField(field3);
}
{
com.avaya.sce.runtime.connectivity.ws2.WsParamField field3 = new com.avaya.sce.runtime.connectivity.ws2.WsParamField(new javax.xml.namespace.QName("", "language"), new javax.xml.namespace.QName("", "java.lang.String"), field2);
field3.setNsPrefix("ns1");
field3.setDDVariableName("");
field3.setUseJavaObject(false);
field2.addField(field3);
}
{
com.avaya.sce.runtime.connectivity.ws2.WsParamField field3 = new com.avaya.sce.runtime.connectivity.ws2.WsParamField(new javax.xml.namespace.QName("", "sapEquipmentNumber"), new javax.xml.namespace.QName("", "java.lang.String"), field2);
field3.setNsPrefix("ns1");
field3.setDDVariableName("");
field3.setUseJavaObject(false);
field2.addField(field3);
}
{
com.avaya.sce.runtime.connectivity.ws2.WsParamField field3 = new com.avaya.sce.runtime.connectivity.ws2.WsParamField(new javax.xml.namespace.QName("", "serialNumber"), new javax.xml.namespace.QName("", "java.lang.String"), field2);
field3.setNsPrefix("ns1");
field3.setDDVariableName("");
field3.setUseJavaObject(false);
field2.addField(field3);
}
param1.addField(field2);
}
addOutParameter(param1);
}
//}}END:CLASS:CONSTRUCTOR
}
}
You'll notice there are the two extra parameters I mentioned above that it is expecting to receive back. That XML response you originally sent, is that taken straight from OD's log? Or is that just the ideal scenario? Also, when you used the servlet you mentioned in your latest post, did you uncheck the Unwrap Output Parameters option? I ask because if it's treating the response as an object, and the web service is out of sync, it wouldn't technically matter because you can get the three values you're interested in out of the object and ignore the others. Perhaps check to see if there are setter/getter methods for language and errorMessage.