标签: axis2

Axis2的wsdl2java在RPC /编码样式的Web服务上失败

Axis2还有其他选择吗?或者让它工作的方式(例如,不同的数据绑定)?

Retrieving document at '...'.
Exception in thread "main" org.apache.axis2.wsdl.codegen.CodeGenerationException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
        at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:271)
        at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)
        at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24)
Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
        at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:53)
        at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:224)
        ... 2 more
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:50)
        ... 3 more
Caused by: org.apache.axis2.schema.SchemaCompilationException: can not find type {http://schemas.xmlsoap.org/soap/encoding/}Array from the parent schema ...        at org.apache.axis2.schema.SchemaCompiler.copyMetaInfoHierarchy(SchemaCompiler.java:1296)
        at org.apache.axis2.schema.SchemaCompiler.processComplexContent(SchemaCompiler.java:1258)
        at org.apache.axis2.schema.SchemaCompiler.processContentModel(SchemaCompiler.java:1153)
        at org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:1097)
        at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:1017)
        at org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:931)
        at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:766)
        at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:552)
        at org.apache.axis2.schema.SchemaCompiler.process(SchemaCompiler.java:1991)
        at org.apache.axis2.schema.SchemaCompiler.processParticle(SchemaCompiler.java:1874)
        at …
Run Code Online (Sandbox Code Playgroud)

java axis axis2 wsdl2java jax-rpc

11
推荐指数
2
解决办法
2万
查看次数

ADBException:意外的子元素

我创建了一个Web服务:

  • Apache Axis 2 CodeGen向导v.1.6.2(绑定:ADB)
  • Eclipse Juno
  • 雄猫7
  • Java 6

服务将自定义Java对象(DataBean)返回给客户端,但我偶然发现了客户端代码中的异常:

org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: Unexpected subelement {schemaTargetNs}message
Run Code Online (Sandbox Code Playgroud)

从我所研究的内容开始,我一再重复......我认为这是一个非常普遍的问题,但尚未就如何纠正它做出决定性的答案.

此论坛和其他论坛上的一些帖子声明需要修改WSDL(某些名称空间),或者客户端存根需要修改.有些人甚至声称亚行有一个错误.它肯定是早期版本的Axis中的一个错误,但邮件档案中有很多帖子说明错误是修复的.这些邮件存档与早期版本的Axis2有关.

现在我的问题是:

  1. 它还是一个bug吗?
  2. 在WSDL或Client存根中究竟需要更改什么?

值得一提的是,我创建了一个类似的Web服务,它将"String"返回给客户端.它工作正常!因此,当涉及复杂数据类型时,它会失败.

Apache的网站上有一些信息,标题为" 已知限制 "......

它写道:" ADB意味着'简单'的数据绑定框架,并不意味着编译所有类型的模式.以下限制是最突出的.

  1. 复杂类型扩展和限制."

那是问题吗?

以下是WSDL文件的片段,您可能对此感兴趣......

<wsdl:types>
        <xs:schema xmlns:ax26="http://mywebservice/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="schemaTargetNs">
            <xs:import namespace="http://mywebservice/xsd"/>
            <xs:element name="getMsg">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="reqData" nillable="true" type="ax25:DataBean"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="getMsgResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="return" nillable="true" type="ax25:DataBean"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:schema>
        <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://mywebservice/xsd">
            <xs:complexType name="DataBean">
                <xs:sequence>
                    <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                    <xs:element minOccurs="0" …
Run Code Online (Sandbox Code Playgroud)

axis2 web-services exception

11
推荐指数
3
解决办法
4万
查看次数

WstxUnexpectedCharException:DOCTYPE声明中的意外字符""(代码34);预期公共标识符和系统标识符之间的空格

我试图在最近几天解决以下问题,但仍然无法解决它.我搜索了很多论坛,但都是徒劳的.

*一点点历史:我的代码在devp env中运行良好但是为了访问生产服务器,我在成功将证书包含在新的信任库文件中后收到了新的URL和三个新证书.我面临下面的问题.请帮忙.

2013-11-25 11:32:30,373 INFO[BuilderUtil] OMException in getSOAPBuilder 
org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '"' (code 34) in DOCTYPE declaration; expected a space between public and system identifiers
 at [row,col {unknown-source}]:[1,46]
    at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:296)
    at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.getSOAPEnvelope(StAXSOAPModelBuilder.java:198)
    at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.<init>(StAXSOAPModelBuilder.java:154)
    at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.<init>(StAXSOAPModelBuilder.java:140)
    at org.apache.axis2.builder.BuilderUtil.getSOAPBuilder(BuilderUtil.java:686)
    at org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:197)
    at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:145)
    at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:108)
    at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:67)
    at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:354)
    at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421)
    at org.apache.axis2.description.OutInAxisOperationClient$NonBlockingInvocationWorker.run(OutInAxisOperation.java:446)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '"' (code 34) in DOCTYPE declaration; expected a space between …
Run Code Online (Sandbox Code Playgroud)

java axis axis2 web-services axis-labels

11
推荐指数
2
解决办法
6万
查看次数

代码生成过程中出现异常的WSDL:java.lang.NoClassDefFoundError:组织/阿帕奇/ WS /公/模式/ utils的/ NamespacePrefixList

我在eclipse中使用Tomcat 7服务器和Axis 2 1.7运行时.

我有一个在Axis 2中生成的WSDL文件.

因此,请使用Topdown方法生成Web服务类(骨架).我在服务器运行时选择了配置为Axis.当尝试单击完成时,它显示以下错误:" 在WSDL的代码生成期间发生异常:java.lang.NoClassDefFoundError:org/apache/ws/commons/schema/utils/NamespacePrefixList "

我认为这是一个罐子小姐,所以我首先包括XmlSchema-1.4.2.jar错误尚未解决.所以我删除了那个jar并尝试使用从java2s下载的最新jar(xmlschema-core-2.0.1.jar).我还有同样的问题.

请帮我解决这个问题.

尝试在eclipse中从WSDl创建客户端时,同样的问题也会持续存在.

请帮我用步骤来解决这个问题.谢谢

eclipse soap wsdl axis2 web-services

11
推荐指数
1
解决办法
2万
查看次数

APR错误:-730054

我们收到与AXIS2 1.7.3相关的错误.我们使用最新的Java8运行Tomcat8.

java.io.IOException: APR error: -730054
org.apache.axis2.AxisFault: java.io.IOException: APR error: -730054 
      at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) 
      at org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:78) 
      at org.apache.axis2.transport.http.CommonsHTTPTransportSender.sendUsingOutputStream(CommonsHTTPTransportSender.java:365) 
      at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:244) 
      at org.apache.axis2.engine.AxisEngine.sendFault(AxisEngine.java:514) 
      at org.apache.axis2.transport.http.AxisServlet.handleFault(AxisServlet.java:450) 
      at org.apache.axis2.transport.http.AxisServlet.processAxisFault(AxisServlet.java:415) 
      at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:205) 
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) 
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) 
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
      at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) 
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
      at ad.common.GZipServletFilter.doFilter(GZipServletFilter.java:53) 
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) 
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) 
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) 
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
      at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) 
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) 
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:521) 
      at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096) 
      at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674) 
      at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2500) 
      at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2489) 
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
      at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
      at java.lang.Thread.run(Thread.java:745) 
Caused …
Run Code Online (Sandbox Code Playgroud)

java axis2 apr tomcat8

11
推荐指数
1
解决办法
6896
查看次数

Axis2对象为xml

我有一个从我的Java代码返回的Axis2对象.如何将该对象转换为XML或在控制台中将其作为XML输出?我知道有很多第三方库可用于将对象序列化为XML - 但是如何使用Axis2呢?


更新:这个链接我找到了解决方案.一个人需要OMElement这样:

OMElement omElement = sampleElement1
          .getOMElement(SampleElement1.MY_QNAME, OMAbstractFactory.getOMFactory()); 
String omElementString = omElement.toStringWithConsume();
System.out.println("XML String ==> " + omElementString);
Run Code Online (Sandbox Code Playgroud)

java xml axis2 marshalling

10
推荐指数
1
解决办法
4981
查看次数

制作Web服务客户端时出现"警告:无法找到所需的类"

我必须从wsdl文件创建一个Web服务客户端.我已经按照教程在eclipse向导中创建和测试服务客户端,并且(我认为我已经实现了代码来调用服务),但我不断得到这个堆栈跟踪,我知道它可能是微不足道但我没有设法在互联网上找到任何东西.我已将这些库附加到路径中,所以我无法理解这是什么,我感谢任何帮助,第一次处理Web服务.我不确定在这里发布整个堆栈跟踪是否可以,它非常大,但这里是它的一部分.....

Dec 8, 2010 7:10:31 AM org.apache.axis.utils.JavaUtils isAttachmentSupported
WARNING: Unable to find required classes (javax.activation.DataHandler and          javax.mail.internet.MimeMultipart). Attachment support is disabled.
 AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
 faultSubcode: 
 faultString: Fault occurred while processing.
 faultActor: 
 faultNode: 
 faultDetail: 
{http://xml.apache.org/axis/}stackTrace:Fault occurred while processing.
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
atorg.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:601)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1782)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2938)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767) …
Run Code Online (Sandbox Code Playgroud)

java axis2 web-services webservice-client

10
推荐指数
1
解决办法
2万
查看次数

第一次调用JAX-WS Web服务太慢了

概述:

目前我们有一个包含多个模块的Web应用程序.我们正在使用以下技术堆栈

  1. JAX-WS
  2. Spring框架(Spring MVC除外)
  3. JSF
  4. 过冬

应用服务器: IBM Websphere 7.0(生产),Apache Tomcat 7.0.X(开发)我们使用JAX-WS注释将类标记为Web服务,除此之外我们不在Data Objects中使用任何JAXB注释,我们将离开这个任务为ws运行时.

问题陈述:

在Apache Tomcat上部署应用程序后,Web服务不会在AS上发布.作为解决方案,我们需要在spring上下文文件中添加"org.springframework.remoting.jaxws.SimpleJaxWsServiceExporter"属性,然后Web服务才能完美地运行.但是当我们在WAS上部署应用程序时,Web服务无需设置前面提到的属性即可发布.当我们向网络服务提出第一个请求时,它反应缓慢,在此问题的研发期间我们发现了以下内容;

  1. IBM使用AXIS2 Web服务引擎
  2. JAXB实现加载类,就像className_used_in_web_service_method$JaxbAccessorM_getFieldName_setFieldName_java_util_Set from: <unknown>层次结构中的所有类一样.这只是第一次发生.我们试图在应用程序启动时加载这些,但无法成功.任何人都可以帮助我们解决这个问题吗?

axis2 web-services jaxb websphere-7

10
推荐指数
1
解决办法
2607
查看次数

传输级别信息与SOAP Message名称空间URI不匹配

我收到了错误"Transport level information does not match with SOAP Message namespace URI".请求您提供解决问题的详细信息.

我在客户端设置了以下内容.

HttpTransportProperties.ProxyProperties proxyProperties = new HttpTransportProperties.ProxyProperties();
proxyProperties.setProxyName(proxyAddress);
proxyProperties.setProxyPort(proxyPort);
stub._getServiceClient().getOptions().setProperty(HTTPConstants.CHUNKED,Boolean.FALSE);
stub._getServiceClient().getOptions().setProperty(HTTPConstants.PROXY, proxyProperties);
stub._getServiceClient().getOptions().setProperty(HTTPConstants.HEADER_CONTENT_TYPE,"application/soap+xml");
stub._getServiceClient().getOptions().setProperty("type","application/soap+xml");
stub._getServiceClient().getOptions().setProperty(HTTPConstants.HEADER_SOAP_ACTION, Action_URL);
stub._getServiceClient().getOptions().setProperty ( HTTPConstants.HTTP_PROTOCOL_VERSION, HTTPConstants.HEADER_PROTOCOL_11 ) ;
stub._getServiceClient().getOptions().setProperty ( "Transfer-Encoding", "chunked" ) ;
stub._getServiceClient().getOptions().setProperty(HTTPConstants.REUSE_HTTP_CLIENT, "true");
Run Code Online (Sandbox Code Playgroud)

你能帮忙解决这个问题吗?

java axis2

10
推荐指数
1
解决办法
2万
查看次数

ColdFusion 2016中的Web服务不再起作用

我正在从ColdFusion 9升级到ColdFusion 2016,我的网络服务突然不再起作用了.我相信这是因为Axis 2是在Cold Fusion 10中引入的,并且它使我现有的Web服务无法正常运行.

即使我在ColdFusion Administrator中将Web服务版本设置为1,它仍然无效.

我称这些Web服务的方式是createObject这样的功能:

<cfscript>
    objSoapHeader = XmlParse("<wsse:Security mustUnderstand=""true"" xmlns:wsse=""http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd""><wsse:UsernameToken><wsse:Username>USERNAME</wsse:Username><wsse:Password>PASSWORD</wsse:Password></wsse:UsernameToken></wsse:Security>");

    Application.UserWebService = CreateObject("webservice", PATH & "Requests/UserService.asmx?WSDL");
    addSOAPRequestHeader(Application.UserWebService,"","",objSoapHeader,true);

    // Get the .Net resources
    Application.NetResources = Application.UserWebService.GetNetResources(); 

</cfscript>
Run Code Online (Sandbox Code Playgroud)

我收到的错误是:

无法执行Web服务调用GetNetResources.

调用Web服务操作时返回的错误是:java.lang.RuntimeException:从数据源获取解析器时出错:LanguageHeader不能为null!

它表明LangaugeHeader不可能null.WSDL显示与GetNetResources操作关联的两条消息:

<wsdl:portType name="UserServiceSoap">
    <wsdl:operation name="GetNetResources">
        <wsdl:input message="tns:GetNetResourcesSoapIn"/>
        <wsdl:output message="tns:GetNetResourcesSoapOut"/>
    </wsdl:operation>
</wsdl:portType >
Run Code Online (Sandbox Code Playgroud)

但是,在查看消息列表时,我可以看到与GetNetResources相关的三条消息:

<wsdl:message name="GetNetResourcesSoapIn">
    <wsdl:part name="parameters" element=tns:GetNetResources"/>
</wsdl:message>
<wsdl:message name="GetNetResourcesSoapOut">
    <wsdl:part name="parameters" element=tns:GetNetResourcesResponse"/>
</wsdl:message>
<wsdl:message name="GetNetResourcesLanguageHeader">
    <wsdl:part name="parameters" element=tns:LanguageHeader"/>
</wsdl:message>
Run Code Online (Sandbox Code Playgroud)

如果操作只指定了两条消息,那么WSDL文件中第三条消息与操作相关联的位置是什么?

看起来LanguageHeader参数在ColdFusion 2016中是绝对必需的,所以为什么它在ColdFusion …

coldfusion axis wsdl axis2 web-services

10
推荐指数
1
解决办法
669
查看次数