java wsimport 生成Webservice客户端401认证

概述
wsimport是jdk自带的命令,可以根据wsdl文档生成客户端中间代码,基于生成的代码编写客户端,可以省很多麻烦。

先看两张截图:

使用浏览器打开webservice出现的界面:
使用浏览器打开webservice出现的界面

使用wsimport生成webservice客户端出现401错误:
使用wsimport生成webservice客户端出现401错误
需用到的命令参数如下:

    1. -d <directory>      在指定的目录生成class文件
    2. -p <pkg>      指定生成文件的包结构
    3. -Xauthfile <filepath>      在格式文件进行授权信息
    4. -keep <url>      在生成class文件,或者jar包时,同时保留java源文件  

第一步 创建wsimport生成ws命令行

wsimport -d D:\JAVA\wrokspace\您的项目\src -p com.xx.web -Xauthfile D:\JAVA\wrokspace\您的项目\authfile.txt -keep http://xxxx:9000/Service.asmx?wsdl
1、通过-d命令指定您的java项目src路径
2、通过-p命令指定需生成包结构(指定之后会自动生成)
3、通过-Xauthfile命令指定访问带有401认证的webservice授权文件(文件路径或文件名可以随意更改 特别简单,请放心)。
4、通过-keep命令指定webservice路径

第二步 创建授权文件(authfile.txt)

http://test:123456@192.168.110.21:9000/Service.asmx?wsdl

第三步 在MyEclipse工具中找到对应的项目右键刷新
右键刷新项目
备注:生成完成之后项目可能会出现错误,将错误稍作修改至没有异常即可。

第四步 尝试调用webservice接口函数并运行项目
这里写图片描述
出现了 Server returned HTTP response code: 401异常,虽然ws成功导入到项目中了但是项目访问接口的时候没有进行身份认证导致出现该异常。我已经在论坛里面找到这个方法的解决方案,
原链接(参考#10):http://bbs.csdn.net/topics/370023850

import java.net.Authenticator;
import java.net.PasswordAuthentication;

 public class MyAuthenticator extends Authenticator {
    protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication("用户名", "密码".toCharArray());
    }
}

调用的时候只需要在调用接口之前调用执行该方法即可:

Authenticator.setDefault(new MyAuthenticator());

操作成功

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
### 回答1: 要生成一个WebService客户,可以按照以下步骤进行: 1. 打开Eclipse或其他IDE,创建一个新的Java项目。 2. 在项目中创建一个新的包,用于存放WebService客户相关的类。 3. 在该包中创建一个新的Java类,用于实现WebService客户。 4. 导入WebService的WSDL文件,可以通过在Eclipse中使用“Web Services Explorer”视图或使用命令行工具wsimport来完成。 5. 根据WSDL文件生成客户代码,可以使用Eclipse中的“Web Services Explorer”视图或使用命令行工具wsimport来完成。 6. 在客户代码中实例化WebService客户,并调用WebService提供的方法。 以上是生成WebService客户的基本步骤,具体实现过程可能会因为不同的IDE或工具而有所不同。 ### 回答2: WebService 是一种基于 Web 的应用程序接口,可以实现不同计算机之间的交互和通信,通过 Web 服务,可以在不同的操作系统和编程语言之间进行交流,使得应用程序的开发变得更加简单便捷。在这样的背景下,idea作为一款著名的开发工具,也加入了WebService的支持,便于开发人员对Web服务进行开发和维护。 在idea中生成WebService客户,要经过以下几步: 1.找到Web Service的WSDL文档:WSDL文档描述了Web服务提供商支持的所有操作和数据类型。可以通过一个 URL 访问此文档,或者从Web服务提供商那里获得它。 2.在idea中添加Web Service:打开 Idea,单击“File”菜单,然后单击“New Project",在“New Project”对话框中,选择“Java Enterprise”,单击“Web Service Client”并单击“Next”。在“New Web Service Client”对话框中,输入 Web 服务的 URL 地址,然后单击“Finish”按钮。 3.生成客户代码:Idea 会自动解析 WSDL 文档,并在稍后的步骤中使用它。在添加Web服务后,第一件要做的事情是生成客户代码。在这一步,IDE 会根据 WSDL 文档生成一个客户代码库,用于调用 Web 服务提供商的操作。在浏览客户代码之前,IDE 会解析 WSDL 文档,以确认是否可以正确地访问 Web 服务。 4.测试Web服务:创建好Web服务客户之后,可以使用测试代码调用 Web 服务。可以通过 Idea 的 Test Page 进行测试,或者创建一个 Java 应用程序或 servlet,并调用 Web 服务。 总之,在idea中生成WebService客户非常容易,只需要依次执行以上步骤即可。Web服务的普及使得不同计算机之间的交互和通信变得更加简单便捷,而idea作为开发工具,则为我们提供了非常方便的支持。 ### 回答3: Web服务客户是一种用于访问Web服务的应用程序。创建Web服务客户可以利用现有的IDE或手动创建。IDE可以自动生成Web服务客户,但是如果使用手动方式,则需要进行一些步骤。 首先,需要确定要连接的Web服务地址,WSDL文件的位置以及Web服务客户所需的参数和返回数据。创建Web服务客户的主要步骤如下: 1.创建Web服务客户项目:可以使用现有的IDE,如Eclipse或NetBeans,创建一个新项目,选择Web服务客户项目类型。 2.导入WSDL文件:必须将WSDL文件导入到Web服务客户项目中,以便可以生成客户代码。 3.生成客户代码:可以使用IDE自动生成客户代码,或手动创建客户代码。使用IDE自动生成客户代码可以大大简化工作量。 4.构建Web服务客户:通过使用生成客户代码,可以构建Web服务客户。可以使用这个客户来向Web服务发送请求并接收响应。 在使用Web服务客户之前,需要了解Web服务的概念和基本原理。Web服务是一种可以利用网络进行互联的软件应用程序,其可通过标准协议(例如SOAP和REST)在互联网上进行通信。Web服务客户是一种用于访问Web服务的应用程序,它可以通过发送请求并接收响应来访问Web服务。 总之,创建Web服务客户需要一些准备工作,如确定Web服务地址、WSDL文件位置和所需参数。IDE可以自动生成客户代码,或者手动创建客户代码。使用生成客户代码可以构建Web服务客户,并可以通过客户访问Web服务。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值