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) 我创建了一个Web服务:
服务将自定义Java对象(DataBean)返回给客户端,但我偶然发现了客户端代码中的异常:
org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: Unexpected subelement {schemaTargetNs}message
Run Code Online (Sandbox Code Playgroud)
从我所研究的内容开始,我一再重复......我认为这是一个非常普遍的问题,但尚未就如何纠正它做出决定性的答案.
此论坛和其他论坛上的一些帖子声明需要修改WSDL(某些名称空间),或者客户端存根需要修改.有些人甚至声称亚行有一个错误.它肯定是早期版本的Axis中的一个错误,但邮件档案中有很多帖子说明错误是修复的.这些邮件存档与早期版本的Axis2有关.
现在我的问题是:
值得一提的是,我创建了一个类似的Web服务,它将"String"返回给客户端.它工作正常!因此,当涉及复杂数据类型时,它会失败.
Apache的网站上有一些信息,标题为" 已知限制 "......
它写道:" ADB意味着'简单'的数据绑定框架,并不意味着编译所有类型的模式.以下限制是最突出的.
那是问题吗?
以下是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) 我试图在最近几天解决以下问题,但仍然无法解决它.我搜索了很多论坛,但都是徒劳的.
*一点点历史:我的代码在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) 我在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创建客户端时,同样的问题也会持续存在.
请帮我用步骤来解决这个问题.谢谢
我们收到与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对象.如何将该对象转换为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) 我必须从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) 目前我们有一个包含多个模块的Web应用程序.我们正在使用以下技术堆栈
应用服务器: 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服务无需设置前面提到的属性即可发布.当我们向网络服务提出第一个请求时,它反应缓慢,在此问题的研发期间我们发现了以下内容;
className_used_in_web_service_method$JaxbAccessorM_getFieldName_setFieldName_java_util_Set from: <unknown>
层次结构中的所有类一样.这只是第一次发生.我们试图在应用程序启动时加载这些,但无法成功.任何人都可以帮助我们解决这个问题吗?我收到了错误"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)
你能帮忙解决这个问题吗?
我正在从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 …
axis2 ×10
java ×6
web-services ×6
axis ×3
wsdl ×2
apr ×1
axis-labels ×1
coldfusion ×1
eclipse ×1
exception ×1
jax-rpc ×1
jaxb ×1
marshalling ×1
soap ×1
tomcat8 ×1
websphere-7 ×1
wsdl2java ×1
xml ×1