Tag: axis2

Axis2客户端的最小类路径是什么?

我想用Maven2构建一个Axis2客户端(我只访问一个远程Web服务,我没有实现一个!),我不想在我的项目中添加21MB的JAR。 当我用ADB转换WSDL时,我需要在我的pom.xml中编译代码?

如何在java中编写有效的Web服务

虽然这可能看起来像Java Web Services的副本,但我想知道从哪里开始并继续。过去,我花了很多时间来寻找从哪里开始,但我无法做到。 在阅读有关Web服务的页面时,有这么多的术语和混乱(至少对我而言!)。 有很多术语 – 比如JAX-RPC, JAX-WS, Axis, Rest, Servlet as WebService, EJB’s作为Web服务以及其他我不知道的术语。 该用户组是否可以整合并提供易于理解和遵循的Java Web服务的高级概述? 感谢您的善意,感谢您的帮助。

Axis2测试客户端出错

我创建了一个Axis2客户端来测试我的axis2 webservice。 但是,我在运行时收到以下错误: org.apache.axis2.AxisFault: java.lang.NoClassDefFoundError: Could not initialize class com.sample.LoginRequestDocument at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.j ava:517) at org.apache.axis2.description.OutInAxisOperationClient.handleResponse( OutInAxisOperation.java:371) at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisO peration.java:417) at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(Out InAxisOperation.java:229) at org.apache.axis2.client.OperationClient.execute(OperationClient.java: 165) at com.sample.sampleStub.login(sampleStub.java:4543) 知道如何解决这个问题吗?

在Axis2中创建自定义例外

我正在使用Axis2 1.5.2和Eclipse。 我正在使用Eclipse从生成的WSDL生成WSDL和客户端代码。 我创建了一个我的服务可以抛出的自定义exception。 创建Web服务时,一切看起来都不错。 webservice成功启动,我可以通过指向我的Web浏览器来查看生成的WSDL。 但是当我告诉Eclipse使用生成的WSDL生成客户端代码时,我从Eclipse中收到此错误: Error in generating Java from WSDL: java.io.IOException: ERROR: Missing element inFault “InsertUserException” in operation “InsertUserException”, in binding insertUser java.io.IOException: ERROR: Missing element inFault “InsertUserException” in operation “InsertUserException”, in binding insertUser at org.apache.axis.wsdl.symbolTable.SymbolTable.faultsFromSOAPFault(SymbolTable.java:2858) 我的自定义exception是“InsertUserException”: public class InsertUserException extends Exception{ private String errorCode; public InsertUserException(String errorCode){…..} public String getErrorCode(){…} public […]

Axis2没有返回自己的对象

我写了一些webservices,其中一些返回一个简单的String(这个工作)和其他返回一个对象列表。 不,axis2(1.5.1)无法处理集合类型,所以我将返回类型更改为Object[]但仍然接收到此exception [ERROR] java.lang.RuntimeException: org.apache.axis2.AxisFault: Mapping qname not fond for the package: de.ac.dto org.apache.axis2.AxisFault: java.lang.RuntimeException: org.apache.axis2.AxisFault: Mapping qname not fond for the package: de.ac.dto at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:161) at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:114) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:173) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:167) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:142) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at […]

Axis2会话管理

我在axis2中构建了一个小型web服务(但是,我编写java类并让eclipse wtp生成服务)。 我想使用会话,以便用户可以使用用户名登录并传递(如果它存在于数据库中),而不是使用webservice但在其会话的上下文中。 我坦率地说不知道从哪里开始。 我如何创建一个会话,然后再处理它?

将自定义Soap标头添加到Webservice请求

我已经使用apache axis2为webserivce生成了存根,我想在请求中添加自定义soap标头我希望soap header看起来像这样 myusermypass 我正在写这段代码 org.apache.axiom.soap.SOAPEnvelope env = null; org.apache.axiom.om.OMFactory omFactory = org.apache.axiom.om.OMAbstractFactory.getOMFactory(); org.apache.axiom.om.OMElement omElement = omFactory.createOMElement(new javax.xml.namespace.QName(“urn:oasis:names:core”, “soapHeader”, “ns1”)); org.apache.axiom.om.OMElement omElement1 = omFactory.createOMElement(new javax.xml.namespace.QName(“urn:oasis:names:core”, “Username”, “ns1”)); org.apache.axiom.om.OMElement omElement2 = omFactory.createOMElement(new javax.xml.namespace.QName(“urn:oasis:names:core”, “Password”, “ns1”)); omElement.addChild(omElement1); omElement.addChild(omElement2); omElement1.setText(“myuser”); omElement2.setText(“mypass”); addHeader(omElement,env); 但我没有得到必需的肥皂头,这是我得到的 myuser 因为你可以看到密码丢失,我想知道我做错了什么

如何在Axis2客户端中正确使用WS-Addressing?

总而言之,我正在尝试编写一个在Axis2.1.5中调用Web服务客户端的Junit测试,并且我对如何将其设置为使用WS-Addressing感到困惑。 我使用wsdl2java生成了一个客户端存根,我正在使用来自axis2二进制分发的axis2.xml和modules存储库。 我知道我需要使用WS-Addressing的MemberSubmission版本,我想我已经正确设置了(使用Options),但是标题似乎没有正确生成。 (我说’似乎’因为我无法弄清楚如何使用SOAPMonitor模块 – 我也欢迎任何提示!)。 然而,我的主要困惑在于“参与”寻址模块究竟需要什么。 是否足以使用具有对寻址模块的引用的axis2.xml文件来设置ConfigurationContext? 像这样? : //standard out of the box axis2 configs ConfigurationContext myConfigContext = ConfigurationContextFactory .createConfigurationContextFromFileSystem(“C:/devapps/axis2-1.5.1/repository”,”C:/devapps/axis2-1.5.1/conf/axis2.xml”); Options options = new Options(); EndpointReference targetEPR = new EndpointReference( “https://host:port/service.asmx”); options.setTo(targetEPR); //I believe this is what I’m supposed to do to specify the //MemberSubmission version of WS-Addressing options.setProperty(AddressingConstants.WS_ADDRESSING_VERSION, AddressingConstants.Submission.WSA_NAMESPACE); //No idea of […]

长期运行的webservice架构

我们使用axis2来构建我们的web服务,使用Jboss服务器来运行我们所有应用程序的逻辑。 我们被要求构建一个与bean通信的Web服务,该bean可能需要长达1小时的响应时间(取决于请求的大小),因此我们将无法与在此期间打开的使用者保持连接。 我们可以使用异步Web服务,但这并不是很好,所以我们决定实现一个bean,它将执行webservice背后的逻辑并让服务异步调用该bean。 Web服务将生成将传递给使用者的令牌,并且使用者可以使用它来查询请求的状态。 我的问题是: 我从创建该bean的服务中的方法返回后,如何查询Jboss服务器上的bean的状态。 我需要使用有状态的bean吗? 如果我想从Web服务端进行异步调用,我可以使用有状态bean吗?

使用`java2wsdl`生成的Web服务是否包含来自多个Java类的API?

我正在使用Axis2来运行Web服务。 这是一个定义服务的services.xml文件: com.mc.xews.XEWS 我的问题是整个API位于一个单独的Java文件XEWS.java并且此类被发送到java2wsdl 。 有没有办法让多个类作为java2wsdl输入? 此文件与WSDL一起使用以生成Web服务。 现在我只使用一个类作为java2wsdl输入,所以这个类变得很大,因为有许多API函数….如果我知道如何将多个文件发送到java2wsdl ,那么它可以很好地分组在不同的类中。 从这个类生成的JavaDocs文档也很难阅读。 Web服务是否可以包含来自多个Java类的API? 可能是java2wsdl extra classes选项参数应该用于此吗?