大侠们指教:有关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天了。