webservice 搭建(二)

本文介绍了如何使用Java搭建WebService客户端,包括新建工程、设置服务端地址以及进行测试的方法。在搭建过程中,还提到了可能遇到的错误及其解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.webservice 客户端搭建

1.1.新建一个工程:File->new->project

这里写图片描述

1.2.填写项目名称和路径
这里写图片描述
1.3.设置关联服务端,初始化程序

下面选择服务器地址为你设置的服务端的wsdl
这里写图片描述

2.测试

2.2.通过配置测试

package example;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;

import javax.xml.datatype.DatatypeConfigurationException;
import javax.xml.namespace.QName;

/**
 * 描述:
 * 作者:苏叶
 * 创建日期:2017-02-26 18:29.
 */

public class Test {

    public static void main(String[] args) throws DatatypeConfigurationException {

        Service service = new Service();
        String url = "http://localhost:8080/molly/services/HelloWorld?wsdl";

        try {
            Call call = (Call)service.createCall();
            call.setTargetEndpointAddress(new java.net.URL(url));
            call.setOperationName(new QName("http://example","sayHelloWorldFrom"));
            call.addParameter(new QName("from"),org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
            call.setUseSOAPAction(true);
            call.setReturnType(org.apache.axis.encoding.XMLType.SOAP_STRING);
            String result = (String)call.invoke(new Object[]{"Tom"});

            System.out.println(result);

        } catch (Exception e) {
            e.printStackTrace();
        }

    }

}

2.2.通过应用程序访问

这里写图片描述

    @Test
    public static void main(String[] argv) {
      try {
          HelloWorldServiceLocator locator = new HelloWorldServiceLocator();
          HelloWorld_PortType service = locator.getHelloWorld();
          // If authorization is required
          //((HelloWorldSoapBindingStub)service).setUsername("user3");
          //((HelloWorldSoapBindingStub)service).setPassword("pass3");
          // invoke business method
          String str = service.sayHelloWorldFrom("Tom!");
          System.out.println(str);
      } catch (javax.xml.rpc.ServiceException ex) {
          ex.printStackTrace();
      } catch (java.rmi.RemoteException ex) {
          ex.printStackTrace();
      }
  }

3.备注
如果报如下错误:
这里写图片描述
直接修改
这里写图片描述
如果报错
这里写图片描述
直接修改
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值