大侠们指教:有关java访问php写的webservice。我不会设置返回类型
今天别人给了个php写的webservice。内容如下:
<?xml version="1.0" encoding="ISO-8859-1" ?>
- <definitions xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="urn:cardcode_wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="urn:cardcode_wsdl">
- <types>
- <xsd:schema targetNamespace="urn:cardcode_wsdl">
<xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
<xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
</xsd:schema>
</types>
- <message name="useCodeRequest">
<part name="code" type="xsd:string" />
<part name="vendor_transaction_code" type="xsd:string" />
</message>
- <message name="useCodeResponse">
<part name="error_id" type="xsd:integer" />
<part name="error_description" type="xsd:string" />
<part name="status_id" type="xsd:integer" />
<part name="status_description" type="xsd:string" />
<part name="credit_count" type="xsd:integer" />
<part name="provider_transaction_code" type="xsd:string" />
<part name="provider_transaction_timestamp" type="xsd:string" />
</message>
- <message name="getCodeStatusRequest">
<part name="code" type="xsd:string" />
</message>
- <message name="getCodeStatusResponse">
<part name="error_id" type="xsd:integer" />
<part name="error_description" type="xsd:string" />
<part name="status_id" type="xsd:integer" />
<part name="status_description" type="xsd:string" />
<part name="credit_count" type="xsd:integer" />
<part name="vendor_transaction_code" type="xsd:string" />
<part name="provider_transaction_code" type="xsd:string" />
<part name="provider_transaction_timestamp" type="xsd:string" />
</message>
- <message name="useGiftRequest">
<part name="code" type="xsd:string" />
<part name="vendor_transaction_code" type="xsd:string" />
</message>
- <message name="useGiftResponse">
<part name="error_id" type="xsd:integer" />
<part name="error_description" type="xsd:string" />
<part name="status_id" type="xsd:integer" />
<part name="status_description" type="xsd:string" />
<part name="credit_count" type="xsd:integer" />
<part name="provider_transaction_code" type="xsd:string" />
<part name="provider_transaction_timestamp" type="xsd:string" />
<part name="gift_id" type="xsd:string" />
<part name="gift_name" type="xsd:string" />
<part name="gift_description" type="xsd:string" />
</message>
- <message name="getGiftStatusRequest">
<part name="code" type="xsd:string" />
</message>
- <message name="getGiftStatusResponse">
<part name="error_id" type="xsd:integer" />
<part name="error_description" type="xsd:string" />
<part name="status_id" type="xsd:integer" />
<part name="status_description" type="xsd:string" />
<part name="credit_count" type="xsd:integer" />
<part name="vendor_transaction_code" type="xsd:string" />
<part name="provider_transaction_code" type="xsd:string" />
<part name="provider_transaction_timestamp" type="xsd:string" />
<part name="gift_id" type="xsd:string" />
<part name="gift_name" type="xsd:string" />
<part name="gift_description" type="xsd:string" />
</message>
- <portType name="cardcode_wsdlPortType">
- <operation name="useCode">
<documentation>Third party company submit the code for charging</documentation>
<input message="tns:useCodeRequest" />
<output message="tns:useCodeResponse" />
</operation>
- <operation name="getCodeStatus">
<documentation>Third party company enquire whether the code is valid or used</documentation>
<input message="tns:getCodeStatusRequest" />
<output message="tns:getCodeStatusResponse" />
</operation>
- <operation name="useGift">
<documentation>Third party company submit the gift for charging</documentation>
<input message="tns:useGiftRequest" />
<output message="tns:useGiftResponse" />
</operation>
- <operation name="getGiftStatus">
<documentation>Third party company enquire whether the gift is valid or used</documentation>
<input message="tns:getGiftStatusRequest" />
<output message="tns:getGiftStatusResponse" />
</operation>
</portType>
- <binding name="cardcode_wsdlBinding" type="tns:cardcode_wsdlPortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
- <operation name="useCode">
<soap:operation soapAction="urn:cardcode_wsdl#useCode" style="rpc" />
- <input>
<soap:body use="encoded" namespace="urn:cardcode_wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
- <output>
<soap:body use="encoded" namespace="urn:cardcode_wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
- <operation name="getCodeStatus">
<soap:operation soapAction="urn:cardcode_wsdl#getCodeStatus" style="rpc" />
- <input>
<soap:body use="encoded" namespace="urn:cardcode_wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
- <output>
<soap:body use="encoded" namespace="urn:cardcode_wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
- <operation name="useGift">
<soap:operation soapAction="urn:cardcode_wsdl#useGift" style="rpc" />
- <input>
<soap:body use="encoded" namespace="urn:cardcode_wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
- <output>
<soap:body use="encoded" namespace="urn:cardcode_wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
- <operation name="getGiftStatus">
<soap:operation soapAction="urn:cardcode_wsdl#getGiftStatus" style="rpc" />
- <input>
<soap:body use="encoded" namespace="urn:cardcode_wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
- <output>
<soap:body use="encoded" namespace="urn:cardcode_wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
</binding>
- <service name="cardcode_wsdl">
- <port name="cardcode_wsdlPort" binding="tns:cardcode_wsdlBinding">
<soap:address location="https://thirdparty-demo.ba-bi.com:443/gc73/cardcode_wsdl.php" />
</port>
</service>
</definitions>我这边调用这个:
String url = "https://thirdparty-demo.ba-bi.com/gc73/cardcode_wsdl.php";
Service service = new Service();
try {
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(url));
call.setOperationName("getCodeStatus");
Object state = call.invoke(new Object[]{"sdfsdfsdf"});
System.out.println(state);
return state.intValue();
} catch (ServiceException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace();
}问题是这样返回给我的是BigInteger。但实际是返回array给我的。我想知道怎么设置返回数组。我知道有个序列化和反序列化,但是就是不成功,
请大侠们指教,我找了2天了。
今天别人给了个php写的webservice。内容如下:
<?xml version="1.0" encoding="ISO-8859-1" ?>
- <definitions xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="urn:cardcode_wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="urn:cardcode_wsdl">
- <types>
- <xsd:schema targetNamespace="urn:cardcode_wsdl">
<xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
<xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
</xsd:schema>
</types>
- <message name="useCodeRequest">
<part name="code" type="xsd:string" />
<part name="vendor_transaction_code" type="xsd:string" />
</message>
- <message name="useCodeResponse">
<part name="error_id" type="xsd:integer" />
<part name="error_description" type="xsd:string" />
<part name="status_id" type="xsd:integer" />
<part name="status_description" type="xsd:string" />
<part name="credit_count" type="xsd:integer" />
<part name="provider_transaction_code" type="xsd:string" />
<part name="provider_transaction_timestamp" type="xsd:string" />
</message>
- <message name="getCodeStatusRequest">
<part name="code" type="xsd:string" />
</message>
- <message name="getCodeStatusResponse">
<part name="error_id" type="xsd:integer" />
<part name="error_description" type="xsd:string" />
<part name="status_id" type="xsd:integer" />
<part name="status_description" type="xsd:string" />
<part name="credit_count" type="xsd:integer" />
<part name="vendor_transaction_code" type="xsd:string" />
<part name="provider_transaction_code" type="xsd:string" />
<part name="provider_transaction_timestamp" type="xsd:string" />
</message>
- <message name="useGiftRequest">
<part name="code" type="xsd:string" />
<part name="vendor_transaction_code" type="xsd:string" />
</message>
- <message name="useGiftResponse">
<part name="error_id" type="xsd:integer" />
<part name="error_description" type="xsd:string" />
<part name="status_id" type="xsd:integer" />
<part name="status_description" type="xsd:string" />
<part name="credit_count" type="xsd:integer" />
<part name="provider_transaction_code" type="xsd:string" />
<part name="provider_transaction_timestamp" type="xsd:string" />
<part name="gift_id" type="xsd:string" />
<part name="gift_name" type="xsd:string" />
<part name="gift_description" type="xsd:string" />
</message>
- <message name="getGiftStatusRequest">
<part name="code" type="xsd:string" />
</message>
- <message name="getGiftStatusResponse">
<part name="error_id" type="xsd:integer" />
<part name="error_description" type="xsd:string" />
<part name="status_id" type="xsd:integer" />
<part name="status_description" type="xsd:string" />
<part name="credit_count" type="xsd:integer" />
<part name="vendor_transaction_code" type="xsd:string" />
<part name="provider_transaction_code" type="xsd:string" />
<part name="provider_transaction_timestamp" type="xsd:string" />
<part name="gift_id" type="xsd:string" />
<part name="gift_name" type="xsd:string" />
<part name="gift_description" type="xsd:string" />
</message>
- <portType name="cardcode_wsdlPortType">
- <operation name="useCode">
<documentation>Third party company submit the code for charging</documentation>
<input message="tns:useCodeRequest" />
<output message="tns:useCodeResponse" />
</operation>
- <operation name="getCodeStatus">
<documentation>Third party company enquire whether the code is valid or used</documentation>
<input message="tns:getCodeStatusRequest" />
<output message="tns:getCodeStatusResponse" />
</operation>
- <operation name="useGift">
<documentation>Third party company submit the gift for charging</documentation>
<input message="tns:useGiftRequest" />
<output message="tns:useGiftResponse" />
</operation>
- <operation name="getGiftStatus">
<documentation>Third party company enquire whether the gift is valid or used</documentation>
<input message="tns:getGiftStatusRequest" />
<output message="tns:getGiftStatusResponse" />
</operation>
</portType>
- <binding name="cardcode_wsdlBinding" type="tns:cardcode_wsdlPortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
- <operation name="useCode">
<soap:operation soapAction="urn:cardcode_wsdl#useCode" style="rpc" />
- <input>
<soap:body use="encoded" namespace="urn:cardcode_wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
- <output>
<soap:body use="encoded" namespace="urn:cardcode_wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
- <operation name="getCodeStatus">
<soap:operation soapAction="urn:cardcode_wsdl#getCodeStatus" style="rpc" />
- <input>
<soap:body use="encoded" namespace="urn:cardcode_wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
- <output>
<soap:body use="encoded" namespace="urn:cardcode_wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
- <operation name="useGift">
<soap:operation soapAction="urn:cardcode_wsdl#useGift" style="rpc" />
- <input>
<soap:body use="encoded" namespace="urn:cardcode_wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
- <output>
<soap:body use="encoded" namespace="urn:cardcode_wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
- <operation name="getGiftStatus">
<soap:operation soapAction="urn:cardcode_wsdl#getGiftStatus" style="rpc" />
- <input>
<soap:body use="encoded" namespace="urn:cardcode_wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
- <output>
<soap:body use="encoded" namespace="urn:cardcode_wsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
</binding>
- <service name="cardcode_wsdl">
- <port name="cardcode_wsdlPort" binding="tns:cardcode_wsdlBinding">
<soap:address location="https://thirdparty-demo.ba-bi.com:443/gc73/cardcode_wsdl.php" />
</port>
</service>
</definitions>我这边调用这个:
String url = "https://thirdparty-demo.ba-bi.com/gc73/cardcode_wsdl.php";
Service service = new Service();
try {
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(url));
call.setOperationName("getCodeStatus");
Object state = call.invoke(new Object[]{"sdfsdfsdf"});
System.out.println(state);
return state.intValue();
} catch (ServiceException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace();
}问题是这样返回给我的是BigInteger。但实际是返回array给我的。我想知道怎么设置返回数组。我知道有个序列化和反序列化,但是就是不成功,
请大侠们指教,我找了2天了。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货