代码:
========================
        try
        {
            Service service = new Service();
            Call call = (Call) service.createCall();
            call.setTargetEndpointAddress(new java.net.URL("http://xxx.xxx.xxx.xxx/services/cmcc_mas_wbs"));
            String ret = (String) call.invoke("sendSmsRequest",new Object[]{"123","xxxxxxxxxxx","","测试中文","GB2312","Normal",Boolean.TRUE});
            System.out.println("返回的信息是:" + ret);
        } catch (Exception ex)
        {
            ex.printStackTrace();
        }报错:
========================

org.xml.sax.SAXException: Deserializing parameter 'arg0':  could not find deserializer for type {http://schemas.xmlsoap.org/soap/encoding/}stringWSDL:
========================
- <element name="sendSmsRequest">
- <complexType>
- <sequence>
  <element name="ApplicationID" nillable="true" type="xsd:string" /> 
  <element maxOccurs="unbounded" minOccurs="0" name="DestinationAddresses" nillable="true" type="xsd:anyURI" /> 
  <element name="ExtendCode" nillable="true" type="xsd:string" /> 
  <element name="Message" nillable="true" type="xsd:string" /> 
  <element name="MessageFormat" nillable="true" type="tns4:MessageFormat" /> 
  <element name="SendMethod" nillable="true" type="tns4:SendMethodType" /> 
  <element name="DeliveryResultRequest" type="xsd:boolean" /> 
  </sequence>
  </complexType>
  </element>

解决方案 »

  1.   

    建议楼主用axis2吧,axis1性能和设计上都无法更axis2比的
      

  2.   

    先在页面上测试这个WSDL是否可用..
    如果可用
    然后输入相关参数测试一下是否能成功返回..
    如果OK,那此时便知道了参数类型,下面就好做了。。
      

  3.   


    axis2 的jar 包, 也太多了吧~  什么破玩意~
      

  4.   


    就你这种学习态度,“什么破玩意”,打仗的时候如果觉得航母太复杂,而快艇方便,难道你会乘着快艇跟美国航母作战么?jar包是很多,说白了你不会用,懒得阅读英文文档所以不会用,那你抱着axis1用一辈子吧,看哪个公司要你axis1的东西
      

  5.   

    有一个schemas.xmlsoap的jia没有导入,名字想不起来了。。