80,362
社区成员
发帖
与我相关
我的任务
分享
<!-- 参数说明 -->
<xs:complexType name="FindOrderHeadVo">
<xs:sequence>
<xs:element minOccurs="0" name="billHeadId" type="xs:string" />
<xs:element minOccurs="0" name="billCode" type="xs:string" />
<xs:element minOccurs="0" name="billTitle" type="xs:string" />
<xs:element minOccurs="0" name="billType" type="xs:string" />
<xs:element minOccurs="0" name="billStatus" type="xs:string" />
......中间太长省略.....
</xs:sequence>
</xs:complexType>
<!---从下面这段可以看出FindOrderHeadListVo 中有一个由FindOrderHeadVo构成的List --->
<xs:complexType name="FindOrderHeadListVo">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="list" nillable="true" type="tns:FindOrderHeadVo" />
</xs:sequence>
</xs:complexType>
<!-- 从下面这段可以看出第一个参数是个FindOrderHeadListVo对象--->
<xs:complexType name="findOrderHeadByHeadForPhone">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="tns:FindOrderHeadListVo" />
<xs:element minOccurs="0" name="arg1" type="xs:string" />
<xs:element name="arg2" type="xs:int" />
<xs:element name="arg3" type="xs:int" />
<xs:element minOccurs="0" name="arg4" type="xs:string" />
<xs:element minOccurs="0" name="arg5" type="xs:string" />
</xs:sequence>
</xs:complexType>
<!-- 现在要调用的就是这个findOrderHeadByHeadForPhone -->
<wsdl:operation name="findOrderHeadByHeadForPhone">
<wsdl:input message="tns:findOrderHeadByHeadForPhone" name="findOrderHeadByHeadForPhone" />
<wsdl:output message="tns:findOrderHeadByHeadForPhoneResponse" name="findOrderHeadByHeadForPhoneResponse" />
</wsdl:operation>
public class FindOrderHeadVo implements KvmSerializable{
//......代码省略
}
rpc.addProperty("arg0", new FindOrderHeadVo("8aa14f953e03d90f013e11c513d422a3","XJRW_GD-2332201304160294","23"));
rpc.addProperty("arg2", 0);
rpc.addProperty("arg3", 10);
rpc.addProperty("arg4","address");
rpc.addProperty("arg5","?");
SOAPEnvelop envelope = new SOAPEnvelop(SoapEnvelope.VER10);
envelope.addMapping(nameSpace, "FindOrderHeadVo", FindOrderHeadVo.class);
envelope.bodyOut = rpc;
envelope.dotNet = true;
envelope.setOutputSoapObject(rpc);
Marshal marshalDate = new MarshalDate();
marshalDate.register(envelope);
SOAPHttpTransport transport = new SOAPHttpTransport(endPoint);
// 调用WebService
try {
transport.debug=true;
transport.call(soapAction, envelope);
}catch(Exception ex )
//........
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>Fault occurred while processing.</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>
public class FindOrderHeadListVo implements KvmSerializable{
private static final long serialVersionUID = 1L;
private List<FindOrderHeadVo> list = new ArrayList<FindOrderHeadVo>();
public List<FindOrderHeadVo> getList() {
return list;
}
public void setList(List<FindOrderHeadVo> list) {
this.list = list;
}
@Override
public Object getProperty(int arg0) {
// TODO Auto-generated method stub
return list;
}
@Override
public int getPropertyCount() {
// TODO Auto-generated method stub
return 1;
}
@Override
public void getPropertyInfo(int arg0, Hashtable arg1, PropertyInfo arg2) {
arg2.type=list.getClass();
arg2.name="list";
}
@SuppressWarnings("unchecked")
@Override
public void setProperty(int arg0, Object arg1) {
list=(Vector<FindOrderHeadVo>)arg1;
}
FindOrderHeadListVo list = new FindOrderHeadListVo();
list.getList().add(new FindOrderHeadVo("8aa14f953e03d90f013e11c513d422a3","XJRW_GD-2332201304160294","23"));
PropertyInfo p1= new PropertyInfo();
p1.setName("arg0");
p1.setValue(list);
p1.setType(FindOrderHeadVo.class);
rpc.addProperty(p1);
rpc.addProperty("arg1", "23130712");
rpc.addProperty("arg2", 0);
rpc.addProperty("arg3", 10);
rpc.addProperty("arg4","address");
rpc.addProperty("arg5","?");
SOAPEnvelop envelope = new SOAPEnvelop(SoapEnvelope.VER10);
envelope.addMapping(nameSpace, "FindOrderHeadVo", FindOrderHeadVo.class);
envelope.bodyOut = rpc;
envelope.dotNet = true;
envelope.setOutputSoapObject(rpc);
Marshal marshalDate = new MarshalDate();
marshalDate.register(envelope);
SOAPHttpTransport transport = new SOAPHttpTransport(endPoint);
// 调用WebService
try {
transport.debug=true;
transport.call(soapAction, envelope);
}catch(Exception ex)
//......