0 0

webservice 身份认证问题5

现在只知道webservice 的url ,在浏览器上输入url,需要用户名,密码才能打开xml
用java做客户端,怎么才能实现身份认证呢?望大侠们指教下

另外服务端是.net做的,我用xfire,axis都试了,没解决

问题补充:
morgan117 写道
你的客户端是wsdl生成的,还是自己用HttpURLConnection做的?


用axis生成的

问题补充:
morgan117 写道
你可以通过调用生成的service的createDispatch方法,得到dispatch。
再调用dispatch的方法就行了。
dispatch.getRequestContext().put(Dispatch.USERNAME_PROPERTY, "role1");
dispatch.getRequestContext().put(Dispatch.PASSWORD_PROPERTY, "tomcat");

没有createDispatch的方法,我是从xml文件生成的,直接从url生成会报错,生成不了

问题补充:
morgan117 写道
你把客户端代码贴出来看看。没用过axis生成客户端过

public static void main(String[] args) throws Exception, ServiceException {
        URL url = new URL("http://localhost/Incuity/ContentService.asmx");
        ContentServiceSoapStub sisbs = new ContentServiceSoapStub(url, 
            new ContentServiceLocator()); 
        
        sisbs.setUsername("ssss");
        sisbs.setPassword("ssss");

  				   sisbs.exportContentPackage(new String[] { "", "" },
  			
}


报http://xml.apache.org/axis/}HttpErrorCode:401
2012年4月05日 10:41

4个答案 按时间排序 按投票排序

0 0

采纳的答案

你可以直接用HttpURLConnection来做客户端。

URL url = new URL("http://localhost/Incuity/ContentService.asmx");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("content-type", "text/xml");\\根据具体情况定
conn.setDoOutput(true);
String passId = new String(Base64.encode("username:password".getBytes()));
conn.setRequestProperty("Authorization", "Basic "+passId);
conn.connect();
OutputStream os = conn.getOutputStream();

通过这个outputStream来发请求
像这样
String s = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:bin=\"http://hello1/\">"
				+ " <soapenv:Body> <bin:sayHello><arg0>morgan</arg0><arg1>23</arg1></bin:sayHello> </soapenv:Body></soapenv:Envelope>";
os.write(s.getBytes());

2012年4月05日 17:39
0 0

你把客户端代码贴出来看看。没用过axis生成客户端过

2012年4月05日 13:39
0 0

你可以通过调用生成的service的createDispatch方法,得到dispatch。
再调用dispatch的方法就行了。
dispatch.getRequestContext().put(Dispatch.USERNAME_PROPERTY, "role1");
dispatch.getRequestContext().put(Dispatch.PASSWORD_PROPERTY, "tomcat");

2012年4月05日 12:15
0 0

你的客户端是wsdl生成的,还是自己用HttpURLConnection做的?

2012年4月05日 11:06

相关推荐

    WebService 身份验证方法及DEMO(.Net版)

    **WebService身份验证方法详解** 在IT领域,尤其是网络服务开发中,安全性是至关重要的一个环节。WebService作为一种标准的跨平台、跨语言的信息交换方式,其身份验证机制确保了只有合法的用户或应用程序才能访问...

    webService添加basic验证

    为了确保对外提供的WebService接口不被未授权的第三方访问,一种常见的做法就是在这些接口上实施身份验证机制。其中,Basic验证是一种简单而有效的方式。本文将详细介绍如何为基于Axis2的WebService添加Basic验证,...

    C#通过SOAP使用HttpWebRequest调用带有身份验证的WebService示例

    本示例使用C#构造SOAP信息,通过HttpWebRequest调用java编写的带有Windows身份验证的WebService,代码中详细注释了每行代码的功能与作用; 对应文章:http://blog.csdn.net/cgs_______/article/details/77894599

    c#调用java带身份验证webservice

    常见的身份验证方式有基本认证(Basic Authentication)、NTLM(NT LAN Manager)认证、Kerberos认证等。在C#中,可以使用HttpClient或WebClient类来设置请求头,添加相应的认证信息。 3. **基本认证**:这是最简单...

    webservice 安全认证请求头信息

    标题“WebService安全认证请求头信息”直指问题的核心,即在调用WebService时,如何通过请求头来传递必要的安全凭证,以验证客户端的身份。这通常涉及到身份验证、授权以及加密等安全机制。 首先,让我们了解...

    WebService之XFire和Jax实现身份验证

    XFire和JAX(Java API for XML)都是在Java环境中实现WebService的重要工具,它们分别提供了不同的方法来处理身份验证,确保数据安全传输。 XFire是早期的一个开源项目,它是一个快速、灵活的Web服务框架,支持SOAP...

    C# 为webservice接口添加认证

    3. **处理SoapHeader**:在服务端,你需要在方法内部检查并验证SoapHeader中的认证信息。这通常涉及到与数据库或身份验证服务的交互,以验证用户名和密码的有效性。 ```csharp public class YourWebService : ...

    domino中运用webservice

    6. **Readme.txt文件**:在这个例子中,Readme.txt文件提供了部署和运行示例的详细步骤,包括环境设置、代码解释以及可能遇到的问题和解决方案。遵循这个文件的指导,用户可以成功地运行和测试提供的示例。 7. **...

    CXF 2.4 WebService 发布和调用的身份验证和获取示例代码

    其中配置了对传入请求的拦截器用以验证调用者身份 验证程序: WsServerAuthHandler. 这里只需要提供调用者应该使用的正确的口令. 是否和调用者实际传入的口令一致,由cxf完成. web.xml ------------------------- ...

    WebService:Axis客户端调用需要身份验证的CXF服务

    当Axis客户端需要调用一个需要身份验证的CXF服务时,我们需要配置Axis客户端以正确地传递认证信息。以下是一些关键步骤: 1. **设置认证头**:对于基本或Digest认证, Axis客户端需要在HTTP请求中添加相应的...

    WebService 认证

    - 集成Windows认证:通过配置IIS(Internet Information Services)以启用集成Windows认证,用户凭据由操作系统管理,提供了一种简单且安全的身份验证方法。 - Web.Config配置:在Web应用的配置文件中,可以设置`...

    WebService 添加头部验证信息

    当我们谈论"WebService添加头部验证信息"时,通常是指在发送SOAP(Simple Object Access Protocol)消息时,通过添加特定的头部信息来增强安全性与认证机制。在这种情况下,标签“TokenSoapHeader”暗示我们可能在...

    ssm webservice,新手可以参考,不错的参考价值

    SSM(Spring、SpringMVC、MyBatis)是一个经典的Java web开发框架组合,深受开发者喜爱,尤其适合新手入门。本文将围绕“SSM Webservice...同时,参与社区交流和学习,能够获取更多实用经验和技巧,提高问题解决能力。

    WebService验证与Spring整合

    Spring提供了对WS-Security的支持,可以实现消息层的身份验证和加密,确保数据传输的安全。 综上所述,"WebService验证与Spring整合"涉及到的技术栈广泛,包括Spring框架的核心特性、Web服务的基础概念以及数据验证...

    webservice 验证框架

    验证框架会检查消息的数字签名、加密和身份认证信息,以确保消息的安全传输。 "PCOP连库"可能提供了一种高效的方法来进行这些验证,尤其是在处理大量请求时,速度优势尤为明显。可能包含的jar包可能包含了与Web服务...

    webservice认证和调用

    OpenID Connect则是在OAuth之上添加了身份验证层,用于身份验证。 **二、Web服务调用** 1. **SOAP调用**:使用SOAP消息格式,通过HTTP、HTTPS等传输协议进行通信。调用时,客户端需要构造SOAP请求消息,并发送到...

    在ASP.NET中调用基于HTTP基本认证的WebService接口

    HTTP 基本认证是一种常用的身份验证机制,它可以保护 Web 服务的安全性。 在 ASP.NET 中调用基于 HTTP 基本认证的WebService 接口的方法可以分为三个步骤: 1. 使用 WSDL.EXE 工具生成代理类 首先,我们需要使用 ...

    C#webservice应用例子(含头验证)

    5. **错误处理**:当头验证失败时,应抛出适当的异常,如`SoapException`,以便客户端能够理解问题所在。可以自定义错误消息,提供更具体的错误信息。 6. **源代码和注释**:提供的压缩包中可能包含了实现以上步骤...

    java的webservice服务端程序

    此外,还可以通过WS-Security标准添加身份验证和授权机制。 - 为了提高性能,可以启用HTTP缓存,减少不必要的网络请求。还可以通过服务组合和数据压缩来优化服务的响应速度。 7. **实例分析**: - 压缩包中的`...

Global site tag (gtag.js) - Google Analytics