qq_33252525 2017-12-05 09:47 采纳率: 0%
浏览 6259
已结题

调用webservices异常处理:org.xml.sax.SAXException:

org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
可能是我代码的问题,2个参数,最后要取两张数据表,应该怎么获取

现在有一个项目,调用sap发布到webservice的接口:









/s:sequence
/s:complexType
/s:element





/s:sequence
/s:complexType
/s:element
/s:sequence
/s:complexType
/s:element









/s:sequence
/s:complexType
/s:element





/s:sequence
/s:complexType
/s:element
/s:sequence
/s:complexType
/s:element
/s:schema
/wsdl:types

自己写的代码:
private String url="";//提供接口的地址

private String soapaction=""; //域名,这是在server定义的

 public HRPInfo()  
 {  
     String getDate="";
     String psw = "";
     Service service=new Service();  
     try{  
         Call call=(Call)service.createCall();              
         call.setTargetEndpointAddress(url);              
         call.setOperationName(new QName(soapaction,"Get_HR_RYKQ")); //设置要调用哪个方法  

         call.setEncodingStyle( null );
         call.setProperty( org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE );
         call.setProperty( org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE );
         call.setSOAPVersion( org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS );
         call.addParameter(new QName(soapaction,"inper"), //设置要传递的参数  
                 org.apache.axis.encoding.XMLType.XSD_STRING,  
                javax.xml.rpc.ParameterMode.IN);
         call.addParameter(new QName(soapaction,"psw"), //设置要传递的参数  
                 org.apache.axis.encoding.XMLType.XSD_STRING,  
                javax.xml.rpc.ParameterMode.IN);
         call.setReturnType(new QName(soapaction,"Get_HR_RYKQ","T_RYKQ"),Vector.class); //要返回的数据类型(自定义类型)  

         call.setUseSOAPAction(true);  
         call.setSOAPActionURI(soapaction + "Get_HR_RYKQ");      

         Vector v=(Vector)call.invoke(new Object[]{getDate,psw});//调用方法并传递参数          
         for(int i=0;i<v.size();i++)  
         {  
             System.out.println(v.get(i));  
         }              

     }catch(Exception ex)  
     {  
     ex.printStackTrace();  
     }          
 } 
  • 写回答

5条回答 默认 最新

  • chen1060859474 2017-12-05 09:50
    关注

    ublic HRPInfo()

    {

    String getDate="";
    String psw = "";
    Service service=new Service();

    try{

    Call call=(Call)service.createCall();

    call.setTargetEndpointAddress(url);

    call.setOperationName(new QName(soapaction,"Get_HR_RYKQ")); //设置要调用哪个方法

         call.setEncodingStyle( null );
         call.setProperty( org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE );
         call.setProperty( org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE );
         call.setSOAPVersion( org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS );
         call.addParameter(new QName(soapaction,"inper"), //设置要传递的参数  
                 org.apache.axis.encoding.XMLType.XSD_STRING,  
                javax.xml.rpc.ParameterMode.IN);
         call.addParameter(new QName(soapaction,"psw"), //设置要传递的参数  
                 org.apache.axis.encoding.XMLType.XSD_STRING,  
                javax.xml.rpc.ParameterMode.IN);
         call.setReturnType(new QName(soapaction,"Get_HR_RYKQ","T_RYKQ"),Vector.class); //要返回的数据类型(自定义类型)  
    
    评论

报告相同问题?

悬赏问题

  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝