调用webservice的问题

[code="java"] public static void main(String[] args) {
try{
//标识WebService的具体路径

String endpoint = "http://project.test.gov.cn/api/test.asmx?wsdl";

//创建Service实例

Service service = new Service();

//通过Service实例创建Call实例

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

//将WebService的服务路径加入到Call实例中,并为Call设置服务的位置

URL url = new URL(endpoint);

call.setTargetEndpointAddress(url);

//调用WebService方法

//call.setOperationName("AddInfo");

call.setOperationName(new QName("http://www.test.net/api/","AddInfo"));

        //由于需要认证,故需要设置调用的用户名和密码。   
        call.getMessageContext().setUsername("aaa");// 设置用户名。   
        call.getMessageContext().setPassword("bbb");// 设置密码   

        //调用WebService传入参数   
        String res = (String)call.invoke(new Object[] {getXml()});   
        System.out.println(res);   
    }catch(Exception e){
        e.printStackTrace();
    }
}[/code]
0

3个回答

0

[code="java"]
call.setOperationName(new QName("http://www.test.net/api/","AddInfo"));

[/code]
这里可能有错误(把/api去掉试试)参照下面说的,就是楼上贴的网址
[code="java"]
call.setSOAPActionURI("http://WebXml.com.cn/"+"getWeather");
[/code]

这个方法网上好多地方都只是传入一个URI,就是那个wsdl的命名空间,这是错的,必须接上我们要调用的接口方法

0

[code="java"]
public static void main(String[] args) {
try{
//标识WebService的具体路径

String endpoint = "http://project.test.gov.cn/api/test.asmx?wsdl";

//创建Service实例

Service service = new Service();

//通过Service实例创建Call实例

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

//将WebService的服务路径加入到Call实例中,并为Call设置服务的位置

URL url = new URL(endpoint);

call.setTargetEndpointAddress(url);

//调用WebService方法

//QName方法有两个参数,1:命名空间 2:方法名
call.setOperationName(new QName("http://www.test.net/","AddInfo"));

        //由于需要认证,故需要设置调用的用户名和密码。   
            call.getMessageContext().setUsername("aaa");// 设置用户名。   
            call.getMessageContext().setPassword("bbb");// 设置密码   

        //调用WebService传入参数   
        String res = (String)call.invoke(new Object[] {getXml()});   
        System.out.println(res);   
    }catch(Exception e){
        e.printStackTrace();
    }
}

[/code]

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!