首页 > 解决方案 > 基本身份验证 Java SOAP WebService 客户端

问题描述

使用来自 WSDL 的 wsimport 的 Soap Web 服务客户端的 java 工件。其中产生:

AppPortalSMupdate.java 以及其中的一些示例代码 public interface AppPortalSMupdate {

@WebMethod(operationName = "RetrieveAppPortalSMupdate", action = "Retrieve")
@WebResult(name = "RetrieveAppPortalSMupdateResponse", targetNamespace = "http://schemas.hp.com/SM/7", partName = "RetrieveAppPortalSMupdateResponse")
public RetrieveAppPortalSMupdateResponse retrieveAppPortalSMupdate(
    @WebParam(name = "RetrieveAppPortalSMupdateRequest", targetNamespace = "http://schemas.hp.com/SM/7", partName = "RetrieveAppPortalSMupdateRequest")
    RetrieveAppPortalSMupdateRequest retrieveAppPortalSMupdateRequest);

AppPortalSMupdate_Service.java

@WebServiceClient(name = "AppPortalSMupdate", targetNamespace = "http://schemas.hp.com/SM/7", wsdlLocation ="http://ss_user:sqzblsft@msmapptst001.lvh.com:13088/SM/7/AppPortalSMupdate.wsdl")

公共类 AppPortalSMupdate_Service 扩展服务{

private final static URL APPPORTALSMUPDATE_WSDL_LOCATION;
private final static WebServiceException APPPORTALSMUPDATE_EXCEPTION;
private final static QName APPPORTALSMUPDATE_QNAME = new QName("http://schemas.hp.com/SM/7", "AppPortalSMupdate");

static {
    URL url = null;
    WebServiceException e = null;
    try {
        url = new URL("http://ss_user:sqzblsft@msmapptst001.lvh.com:13088/SM/7/AppPortalSMupdate.wsdl");
    } catch (MalformedURLException ex) {
        e = new WebServiceException(ex);
    }
    APPPORTALSMUPDATE_WSDL_LOCATION = url;
    APPPORTALSMUPDATE_EXCEPTION = e;

这是我从测试客户端类调用的主要内容:

AppPortalSMupdate appUpdate = calc.getAppPortalSMupdate();

UpdateAppPortalSMupdateResponse appResponse = appUpdate.updateAppPortalSMupdate(requestMessage);

我的问题是网络服务需要用户名和密码。如何在我的通话中添加用户 ID 和密码。这是在 liferay portlet 中使用的。

标签: javasoapjax-ws

解决方案


使用@HandlerChain注解并通过实现SOAPHandler接口来配置它们。如果您需要更多说明,请告诉我。


推荐阅读