Idea 2021调用webservice详解

这篇博客介绍了如何在Java工程中使用Apache Axis1.2框架来添加Web服务支持,通过输入WSDL地址生成Java代码,并详细展示了如何设置认证信息和额外的SOAP头信息,以及如何调用Web服务接口进行数据操作。在后续部分,还讲解了如何再次生成WSLD代码的步骤。
摘要由CSDN通过智能技术生成

1.新建普通的Java工程

 

2.工程上右键添加Framework支持

选择Apache Axis 1.2

3.在弹出的生成Java Code界面输入wsdl地址和输出路径,其他可留空。

4.修改生成的HelloWorldClient代码

package example;

import org.apache.axis.message.SOAPHeaderElement;
import test.*;

import javax.xml.soap.SOAPException;

public class HelloWorldClient
{
  public static void main(String[] argv) {
    try {
      Tdcus921ServiceLocator locator = new Tdcus921ServiceLocator();
      Tdcus921 service = locator.gettdcus921SoapPort();
      // 添加认证信息
      ((Tdcus921SoapBindingStub)service).setUsername("admin");
      ((Tdcus921SoapBindingStub)service).setPassword("123456");
      //添加额外的头信息
      try {
        SOAPHeaderElement headerElement = new SOAPHeaderElement(locator.gettdcus921SoapPortAddress(),"Activation");
        headerElement.addChildElement("unit").addTextNode("999");
        ((Tdcus921SoapBindingStub)service).setHeader(headerElement);
      } catch (SOAPException e) {
        e.printStackTrace();
      }
      // 请求参数
      CreateRequestType crt = new CreateRequestType();
      CreateRequestTypeDataAreaTdcus921 tdcus = new CreateRequestTypeDataAreaTdcus921();
      tdcus.setId("20");
      tdcus.setName("tesa");
      tdcus.setPhone("1511234121323");
      tdcus.setPwd("123");
      tdcus.setText("测试测试");
      CreateRequestTypeDataAreaTdcus921 [] list = new CreateRequestTypeDataAreaTdcus921[]{tdcus};
      crt.setDataArea(list);

      CreateResponseType responseType = service.create(crt);
      //响应参数
      CreateResponseTypeDataAreaTdcus921 ct [] = responseType.getDataArea();
      for(CreateResponseTypeDataAreaTdcus921 c : ct)
      {
        System.out.println("ok:"+c.getId());
      }
    } catch (javax.xml.rpc.ServiceException ex) {
      ex.printStackTrace();
    } catch (java.rmi.RemoteException ex) {
      ex.printStackTrace();
    }
  }
}

5.后续还想在此工程上生成wsdl代码时,点击tools的webservice工具

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上善若水_厚德载物

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值