问题描述
- axis2 调用 tuxedo服务 服务端返回的错误报文接口不到(正确的报文可以正常接收)???
-
public String invoke(OMElement head,OMElement body,String methodName,String routedestsys, String wsdl) { String returnXml=""; try { Options options = new Options(); // 指定调用WebService的URL EndpointReference targetEPR = new EndpointReference(wsdl+routedestsys+"/"); options.setTo(targetEPR); options.setTimeOutInMilliSeconds((long)60000);//设置超时时间30秒 //设置Http客户端连接可以复用 options.setProperty(HTTPConstants.REUSE_HTTP_CLIENT, Boolean.TRUE); //设置httpConnection数量100个。 //获取httpClient HttpClient httpClient = HttpClientPool.getHttpClient(); // 缓存httpclient对象,在服务器启动后到真实请求之前 options.setProperty(HTTPConstants.CACHED_HTTP_CLIENT, httpClient); //end add serviceClient = new ServiceClient(); serviceClient.setOptions(options); // ***************HEAD头部信息的处理************************************************* if(head!=null){ serviceClient.addHeader(head);// 追加头部信息 } // ***************HEAD头部信息的处理************************************************* // ***************BODY体信息的处理************************************************* // 构建request报文 if(body!=null){ body.build(); } // ***************BODY体信息的处理************************************************* // System.out.println("发送的报文:"+XmlFormat.formatSendXML(method.toString())); // 发送报文请求,返回OMElement OMElement returnOme = serviceClient.sendReceive(body); System.out.println("报文返回对象:"+returnOme); if(returnOme!=null){ returnXml=returnOme.getBuilder().getDocument().getFirstOMChild().toString(); } //解决并发超时的问题
// serviceClient.cleanupTransport();
return returnXml;
} catch (AxisFault e) {
e.printStackTrace();
return null;
}finally{
if(serviceClient!=null){
try {
serviceClient.cleanupTransport();
} catch (AxisFault e1) {
e1.printStackTrace();
}
}
}}
如果报文错误没有返回信息,用生成的报文在soapUI中调用可以返回错误信息?
解决方案
错误的 话应该有返回信息的
时间: 2024-09-08 11:37:09