日期:2014-05-17  浏览次数:20768 次

Java Axis2调用C# webService 传递参数问题,就没有一个人能解决问题这问题?这到底有多难。
已经发了三个帖子了,也问了十多个人了。我想这问题应该没人知道了诶 技术牛人都回家过年了?

问题是这样的:
             接口是C#写的,我这边Java调用他的方法
     调用说明:
     接口所有参数均使用xml字符串;
             String 类型 XML格式 参数 
我这边参数 在工具里面测试 是可以测试出数据一切正常,在myeclipse代码执行 总返回XML格式错误
无参方法可以成功获取数据,有参方法都是格式不正确 找了一个多星期了都没有收获  = =我只想说我没做过Webservice这一块。

求大神帮忙解决下面帖子是之前发的方法需求等:
http://bbs.csdn.net/topics/390695224?page=1#post-396612018



import javax.xml.namespace.QName;

import org.apache.axiom.om.OMElement;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;

public class AV {

/**
 * @param args
 * 航班接口测试
 */
public static void main(String[] args) {

//AV参数
String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<ParamsXml><Params>" +
"<AgentID>HBJT</AgentID>" +
"<DepartureAirport>CAN</DepartureAirport>" +
"<ArriveAirport>PEK</ArriveAirport>" +
"<DepartureDate>2014-02-20</DepartureDate>" +
"<CarrierCode>CZ</CarrierCode>" +
"<FS>D</FS>" +
"</Params></ParamsXml>";

System.out.println("输出参数"+xml);

//WebService 调用工具
String url = "http://ws04.itour.cn:8084/ItourAgentCRSService.asmx";

//操作命名控件 和 方法
QName  qname  = new QName("http://itour.cn/","AV"); 

//设定参数类型
Object param[] = new Object[] { xml }; 


try {
//实例化远程服务调用客户端对象 
    RPCServiceClient  client = new RPCServiceClient();
    
    //实例化Options对象 
Options options = new Options(); 

//设置Options对象的连接终端地址 
options.setTo(new EndpointReference(url)); 

//设置Options对象的操作事件对象 
options.setAction("http://itour.cn/AV"); 

//为远程服务调用客户端对象设置Options子对象 
client.setOptions(options); 

//传递参数,调用服务,获取服务返回结果集
OMElement element = client.invokeBlocking(qname, param); 

//获取返回结果集中第一条结果的返回内容 
 String result=element.getFirstElement().getText(); 

 System.out.println("返回结果"+result);
 
} catch (AxisFault e) { 

e.printStackTrace();


}

}



输出参数<?xml version="1.0" encoding="UTF-8"?><ParamsXml><Params><AgentID>HBJT</AgentID><DepartureAirport>CAN</DepartureAirport><ArriveAirport>PEK</ArriveAirport><DepartureDate>2014-02-20</DepartureDate><CarrierCode>CZ</CarrierCode><FS>D</FS></Para