2011-03-28 80 views
0
,其具有扩展的类作为参数

Serviceclient问题调用操作已扩展类作为参数

Serviceclient问题调用操作我已exteded类的xsd操作输入:玛

的SOAPFactory FAC = OMAbstractFactory.getSOAP11Factory() ; SOAPEnvelope envelope = fac.getDefaultEnvelope(); OMNamespace omNs = fac.createOMNamespace( “http://impl.service.mobile.boerse.com/”,“impl”); // //创建有效负载 OMElement method = fac.createOMElement(“getIndexData”,omNs); OMElement value = fac.createOMElement(“arg0.deviceType”,omNs); value.setText(“1”); method.addChild(value); OMElement value2 = fac.createOMElement(“arg0.identificationID”,omNs); value2.setText(“1”); method.addChild(value2); OMElement value4 = fac.createOMElement(“arg0.name”,omNs); value4.setText(“1”); method.addChild(value4); OMElement value3 = fac.createOMElement(“arg1”,omNs); value3.setText(“1”); method.addChild(value3); envelope.getBody()。addChild(method);

错在哪里

回答

0

我解决了这个问题:

SOAPFactory fac = OMAbstractFactory.getSOAP11Factory(); 
SOAPEnvelope envelope = fac.getDefaultEnvelope(); 
OMNamespace omNs = fac.createOMNamespace("http://impl.service.mobile.boerse.com/", "tns"); 
// // creating the payload 
OMElement method = fac.createOMElement("getIndexData", omNs); 
OMElement arg0 = fac.createOMElement(new QName("arg0")); 
OMElement value = fac.createOMElement(new QName("deviceType")); 
value.setText("1"); 
arg0.addChild(value); 
OMElement value2 = fac.createOMElement(new QName("identificationID")); 
value2.setText("1"); 
arg0.addChild(value2); 
OMElement value4 = fac.createOMElement(new QName("name")); 
value4.setText("1"); 
arg0.addChild(value4); 
OMElement arg1 = fac.createOMElement(new QName("arg1")); 
arg1.setText("1"); 
method.addChild(arg0); 
method.addChild(arg1); 
envelope.getBody().addChild(method); 
return envelope; 
0

如果你已经扩展分类parementer如operationname.anotherclass.paremeter

在第一次创建anotherclass的OMElement后创建paremeter的OMElement和添加paremeter anatherclass