-
axis2 牛人来15
SOAPFactory fac = OMAbstractFactory.getSOAP12Factory();
SOAPEnvelope env = fac.getDefaultEnvelope();
打印env 得到:
<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<soapenv:Body />
</soapenv:Envelope>
此时的大结点是 <soapenv:Envelope></soapenv:Envelope>
但是 如果 我现在增加一个命名空间
SOAPFactory fac = OMAbstractFactory.getSOAP12Factory();
SOAPEnvelope env = fac.getDefaultEnvelope();
OMNamespace sms1 =
fac.createOMNamespace("http://www.chinatelecom.com.cn/schema/ctcc/sms/send/v2_1/local", "sms1");
env.setNamespace(sms1);
就变成了
<?xml version='1.0' encoding='utf-8'?>
<xsi:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body />
</xsi:Envelope>
此时的大结点变成<xsi:Envelope></xsi:Envelope>
狂晕 有好的解释吗?
还有在发送的时候 有如下异常
org.apache.axis2.AxisFault: Can not output XML declaration, after other output has already been done.
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:417)
at org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:72)
at org.apache.axis2.transport.http.AxisRequestEntity.writeRequest(AxisRequestEntity.java:84)
at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:495)
at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:1973)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:993)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:397)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
at org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:520)
at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:191)
at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:77)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:327)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:206)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:396)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:374)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:211)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:528)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:508)
at tony.axis.test.SoapTest2.main(SoapTest2.java:37)
Caused by: javax.xml.stream.XMLStreamException: Can not output XML declaration, after other output has already been done.
at com.ctc.wstx.sw.BaseStreamWriter.throwOutputError(BaseStreamWriter.java:1473)
at com.ctc.wstx.sw.BaseStreamWriter.reportNwfStructure(BaseStreamWriter.java:1502)
at com.ctc.wstx.sw.BaseStreamWriter.doWriteStartDocument(BaseStreamWriter.java:699)
at com.ctc.wstx.sw.BaseStreamWriter.writeStartDocument(BaseStreamWriter.java:687)
at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:193)
at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:814)
at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:785)
at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:814)
at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.serializeInternally(SOAPEnvelopeImpl.java:237)
at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:225)
at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:814)
at org.apache.axiom.om.impl.llom.OMNodeImpl.serializeAndConsume(OMNodeImpl.java:421)
at org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:68)
... 20 more
不知道为什么 不让发送SML 为什么?
2008年10月08日 16:14
目前还没有答案
相关推荐
总的来说,"axis2-idea-plugin-1.7.9.zip"是一个专为IntelliJ IDEA设计的Axis2插件,版本1.7.9,旨在提升开发基于Axis2的Web服务时的效率。该插件包含了必要的元数据、编译后的代码和依赖库,用户可以通过导入这个...
Apache Axis2是著名的开源Web服务框架,用于构建和部署高效且灵活的Web服务。这个框架是基于Axis1的升级版,提供了许多改进和新特性,...理解这两个包的用途和内部结构对于有效利用Axis2来创建和部署Web服务至关重要。
axis2-adb-1.5.4.jar axis2-adb-codegen-1.5.4.jar axis2-codegen-1.5.4.jar axis2-corba-1.5.4.jar axis2-fastinfoset-1.5.4.jar axis2-java2wsdl-1.5.4.jar axis2-jaxbri-1.5.4.jar axis2-jaxws-1.5.4.jar axis2-...
axis2-1.6.2.zip, windows axis2工具,根据 WSDL生成java文件。 1、axis2客户端下载地址:http://mirror.esocc.com/apache//axis/axis2/java/core/1.6.2/axis2-1.6.2-bin.zip; 2、下载解压在D:\Work_Program_...
Axis2是Apache软件基金会开发的一个开源Web服务引擎,它提供了基于SOAP(Simple Object Access Protocol)的Web服务实现。本文将详细介绍Axis2的API及其在Web服务开发中的应用,同时也会探讨Axis2的帮助文档如何协助...
- 而在Axis2中,则通过`-sd`选项来生成服务配置文件(services.xml)。 3. **命名空间处理**: - Axis2提供了更灵活的命名空间到包名的映射方式,例如通过`-ns2p`选项可以指定特定的命名空间映射到特定的Java包。 ...
总的来说,了解和掌握Axis1.x与Axis2.x的区别和使用方法,对于Java Web服务开发者来说至关重要。这不仅涉及到选择合适的框架,也关系到如何有效地部署、管理和优化Web服务。在实际工作中,应根据项目需求和团队的...
本文将详细讲解如何使用Axis2来发布Web服务以及如何生成客户端代码来调用这些服务。 首先,让我们了解发布Web服务的过程: 1. **创建WebService**:在Axis2中,可以通过编写一个简单的Java类并暴露其方法作为Web...
通过仔细阅读这些文档,开发者可以掌握如何使用Axis或Axis2来创建符合WS-I标准、高性能的Web服务,以及如何调试和优化服务。 总之,Axis和Axis2是Java Web服务开发的关键工具,它们提供了丰富的API和文档来支持开发...
1. **Axis2库的jar文件**:这些文件包含了Axis2运行所需的核心类库,如axis2-kernel.jar、axiom-api.jar、axiom-impl.jar等。 2. **依赖的第三方库**:为了支持各种功能,Axis2依赖于许多第三方库,如log4j.jar...
在Web服务领域,Axis2扮演着核心的角色,它提供了丰富的功能来支持服务导向架构(SOA)。标题中的"axis2-1.6.2.zip"指的是Axis2的1.6.2版本的压缩包,这个版本发布于2010年,包含了 Axis2 的所有组件和必要的库文件...
Axis1, Axis2, Xfire, CXF 区别 Axis1, Axis2, Xfire, CXF 是四种常用的WebService框架,它们之间有着不同的特点和应用场景。本文将对这四种框架进行详细的比较和分析,以帮助开发者选择合适的框架。 XFire 是一种...
- 模块化架构:Axis2允许通过加载和卸载模块来轻松地扩展功能。 - 多协议支持:除了基本的SOAP 1.1和1.2,Axis2还支持REST、MTOM(Message Transmission Optimization Mechanism)和SwA(Soap with Attachments)等...
3. **配置Spring Boot**:在Spring Boot的主配置类中,我们需要配置一个Servlet容器来处理Axis2的请求。可以通过扩展`WebApplicationInitializer`接口或使用`@ServletComponentScan`注解来完成。此外,还需要配置...
总的来说,Axis2 是一个强大且灵活的Web服务框架,它的源码和文档对于任何希望深入研究Web服务开发的人来说都是宝贵的资源。无论是新手还是经验丰富的开发者,都可以从 Axis2 的文档中获取所需信息,通过源码了解其...
总结来说,Apache Axis2是一个强大的Web服务框架,用于构建和部署SOAP服务。"axis2-std-1.0-bin.zip"提供了完整的运行环境和工具,而"axis2.war"则方便在Servlet容器中快速部署服务。MyEclipse插件进一步简化了在IDE...
在描述中提到的“之前公司用了webservice搞了好就 写了好几种”,这可能意味着使用Axis2来实现不同类型的Web服务接口,或者在不同的项目中进行了多次的Web服务开发。 **标签:** 1. **Java** - Axis2是基于Java...
axis2 webservice 服务端jar包: -->axis2-kernel-1.6.1.jar -->axis2-spring-1.6.1.jar -->axis2-transport-http-1.6.1.jar -->XmlSchema-1.4.7.jar -->wsdl4j-1.6.2.jar -->axiom-api-1.2.12.jar -->axiom...
标题中的“Axis2依赖的所有jar包”指的是Apache Axis2框架运行所必需的Java库文件,这些文件以.jar格式存在,包含了各种类和资源,用于支持 Axis2 的功能。Apache Axis2 是一个流行的Web服务引擎,它允许开发人员...