-
xfire 使用 SIGNATURE报如下错误,而Encrypt没有问题请问为什么10
Exception in thread "main" org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: WSS4JInHandler: security processing failed
org.codehaus.xfire.fault.XFireFault: WSS4JInHandler: security processing failed
at org.codehaus.xfire.fault.Soap11FaultSerializer.readMessage(Soap11FaultSerializer.java:34)
at org.codehaus.xfire.fault.SoapFaultSerializer.readMessage(SoapFaultSerializer.java:29)
at org.codehaus.xfire.soap.handler.ReadHeadersHandler.checkForFault(ReadHeadersHandler.java:111)
at org.codehaus.xfire.soap.handler.ReadHeadersHandler.invoke(ReadHeadersHandler.java:67)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.client.Client.onReceive(Client.java:406)
at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:140)
at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)
at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:117)
at org.codehaus.xfire.client.Client.invoke(Client.java:336)
at org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:78)
at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
at $Proxy0.sayHello(Unknown Source)
at com.neusoft.xfire.test.TTTest.<init>(TTTest.java:59)
at com.neusoft.xfire.test.TTTest.main(TTTest.java:64)
配置文件
<service>
<name>HelloWorldService</name>
<serviceClass>com.neusoft.xfire.test.HelloWorldServiceImp</serviceClass>
<inHandlers>
<handler handlerClass="org.codehaus.xfire.util.dom.DOMInHandler" />
<bean class="org.codehaus.xfire.security.wss4j.WSS4JInHandler" xmlns="">
<property name="properties">
<props>
<prop key="action">Signature</prop>
<prop key="signaturePropFile">com/neusoft/xfire/test/insecurity.properties</prop>
<prop key="passwordCallbackClass">com.neusoft.xfire.test.PasswordHandler</prop>
</props>
</property>
</bean>
</inHandlers>
</service>
客户端调用代码
service=new ObjectServiceFactory().create(HelloWorldService.class,
"HelloWorldService",
namespance,
null);
try {
bookservice=(HelloWorldService) new XFireProxyFactory().create(service, SERVICE_URL);
client = ((XFireProxy) Proxy.getInvocationHandler(bookservice)).getClient();
} catch (MalformedURLException e) {
e.printStackTrace();
}
wsOut = new WSS4JOutHandler();
wsOut.setProperty(WSHandlerConstants.SIG_PROP_FILE, "com/neusoft/xfire/test/outsecurity.properties");
// wsOut.setProperty(WSHandlerConstants.ENC_PROP_FILE, "com/neusoft/xfire/test/outsecurity.properties");
wsOut.setProperty(WSHandlerConstants.USER, "ws_security");
//wsOut.setProperty(WSHandlerConstants.p, "client-344-839");
//wsOut.setProperty("password", "keypassword");
// System.out.println(WSConstants.PASSWORD_TEXT);
wsOut.setProperty(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PASSWORD_TEXT);
wsOut.setProperty(WSHandlerConstants.PW_CALLBACK_CLASS, PasswordHandler.class.getName());
wsOut.setProperty(WSHandlerConstants.SIG_KEY_ID,"IssuerSerial");
client.addOutHandler(new DOMOutHandler());
client.addOutHandler(wsOut);
wsOut.setProperty(WSHandlerConstants.ACTION,WSHandlerConstants.SIGNATURE);
// String actions =WSHandlerConstants.SIGNATURE;
//wsOut.setProperty(WSHandlerConstants.TTL_TIMESTAMP,"30");
// wsOut.setProperty(WSHandlerConstants.ACTION, actions);
//System.out.println(""+bookservice.sayHello());
bookservice.sayHello();
client.close();2008年7月09日 15:42
目前还没有答案
相关推荐
接着,添加一个Servlet定义,名为`xfire`,使用`XFireSpringServlet`类,并映射URL模式为`/services/*`。这样,所有以`/services/`开头的请求都会被Xfire处理。 4. 编写Service接口:按照JAX-WS规范,你可以通过...
标题“Xfire调用WebService无法传递参数问题”暗示了开发者在尝试使用Xfire框架时遇到了参数无法正常传递到Web服务的情况。这可能涉及到多个方面,如编码问题、序列化错误、类型不匹配或者配置不正确等。以下是一些...
"Java 使用 XFire 调用 webService 接口" 在本文中,我们将学习如何使用 XFire 框架在 Java 中调用 webService 接口。XFIRE 是一个基于 Java 的开源框架,用于简化 Web 服务的开发和集成。下面,我们将通过一个简单...
<param-value>classpath:spring/app.xml,classpath:org/codehaus/xfire/spring/xfire.xml <!--配置xfire ws--> <servlet-name>XFireServlet <servlet-class>org.codehaus.xfire.spring....
**xfire全部jar包**是针对一款名为Xfire的软件的开发库集合,它包含了所有必要的JAR(Java Archive)文件,这些文件是Java编程语言中的可执行代码库。Xfire是一款历史悠久的在线游戏社区软件,它允许玩家跟踪其朋友...
1. **XML序列化与反序列化问题**:Xfire需要将Java对象转换为XML格式(序列化)发送给服务端,服务端再将接收到的XML还原为Java对象(反序列化)。如果双方使用的数据类型不匹配或XML格式不正确,可能会导致参数丢失...
【标题】: 使用XFire发布WebService 在Web服务的世界中,XFire是一个强大的开源框架,它使得开发和部署Web服务变得简单。XFire是Apache CXF的前身,它提供了全面的WS-*支持,包括SOAP、WSDL、UDDI、MTOM等标准,...
开发者在开发过程中可能会遇到各种异常,比如网络异常、数据格式错误、协议不匹配等,XFire对这些异常都有明确的处理机制,有助于开发者快速定位问题并进行解决。 总体来说,XFire是一个功能强大、灵活且易于集成的...
6. **异常处理**:在调用Web服务时,可能会遇到网络问题或服务端错误,XFire会将这些异常封装成特定的Java异常,方便开发者捕获并处理。 7. **日志和调试**:为了调试和优化,XFire支持日志记录,开发者可以通过...
在这个“xfire 使用外部类、返回collection及输入数组参数示例”中,我们将深入探讨如何利用Xfire来处理复杂的参数类型,包括外部类引用、集合(Collection)返回以及数组作为输入参数。 ### 1. 外部类的使用 在...
Xfire API 是一款专为游戏社区设计的接口,它允许开发者构建与Xfire服务交互的应用程序,从而增强玩家的游戏体验并提供社交功能。Xfire API 主要围绕Web服务概念,这意味着它通过网络提供一系列功能,使得第三方...
以上这些jar包共同构成了xfire框架的基础,它们相互协作,为开发者提供了强大而全面的Web服务开发环境。在使用xfire时,需要根据项目需求选择合适的依赖包,并正确配置到项目的类路径中,以确保xfire能够正常工作。...
XFire,全称为XFire SOAP RPC,它提供了一种简单的方式来创建和消费Web服务。本文将深入探讨XFire客户端的生成以及如何利用它来自动创建Java代码以便调用Web服务。 ### XFire简介 XFire是由Apache CXF项目前身的一...
《XFire1.2使用详解》 XFire是一款在Java平台上用于构建分布式应用程序的服务框架,它为开发人员提供了丰富的服务发现、服务注册、服务通信等功能。这篇博客将深入探讨XFire1.2的使用,帮助开发者更好地理解和应用...
在 MyEclipse 上使用 XFire 编写 Web Service.rar在 MyEclipse 上使用 XFire 编写 Web Service.rar在 MyEclipse 上使用 XFire 编写 Web Service
通过使用Java注解,xFire使得开发者能够快速地将Java类转换为Web服务,反之亦然。这极大地简化了Web服务的开发过程,降低了学习曲线。 在使用xFire时,首先要进行基本的环境配置,包括引入必要的库文件和设置相关的...
而使用XFire,可以通过配置和服务接口的方法注解来处理。因此,在选择工具时,需要根据项目规模、复杂性和团队熟悉度来权衡。 总结起来,Java调用Web Service的方式多样,HttpClient和XFire是其中常见的两个选择。...
xfire是一款历史悠久的在线游戏平台,它在2004年由GameSpy Industries开发并发布,主要功能是为玩家提供即时通讯、好友列表、游戏内聊天和游戏统计等功能,旨在增强玩家的游戏体验。xfire 1.26是该平台的一个特定...
Xfire简化了开发过程,使得开发者可以专注于业务逻辑,而不是底层的网络通信细节。在Web服务的世界里,SOAP(Simple Object Access Protocol)是一种用于交换结构化信息的标准协议,常用于构建分布式系统,允许不同...
总之,XFire为Java开发者提供了一个强大的工具,简化了Web服务的开发和部署。虽然现在CXF已经成为更主流的选择,但XFire的历史和功能仍然值得我们去学习和了解,特别是对于理解Web服务的基础概念和工作原理。