Java 有没有办法强制Axis1生成文档文本WSDL和SOAP?
我使用ApacheAxis1来服务web服务,它自动将Java对象转换为wsdl定义和soap响应。然而,在默认情况下,Axis似乎默认为rpc编码的数据服务。有没有办法强迫它转而提供包装的文档文字数据 到目前为止,文档对我帮助不大。我的服务声明如下所示:Java 有没有办法强制Axis1生成文档文本WSDL和SOAP?,java,soap,wsdl,axis,Java,Soap,Wsdl,Axis,我使用ApacheAxis1来服务web服务,它自动将Java对象转换为wsdl定义和soap响应。然而,在默认情况下,Axis似乎默认为rpc编码的数据服务。有没有办法强迫它转而提供包装的文档文字数据 到目前为止,文档对我帮助不大。我的服务声明如下所示: <service name="myservice" provider="java:RPC" use="literal" style="wrapped"> <parameter name="wsdlTargetNames
<service name="myservice" provider="java:RPC" use="literal" style="wrapped">
<parameter name="wsdlTargetNamespace" value="http://www.acme.com/"/>
<parameter name="className" value="com.acme.MyService" />
<operation name="doSomething" returnQName="acme:Response">
<documentation>Does something.</documentation>
<fault name="MyException" type="acme:MyException" class="com.acme.MyException" />
</operation>
</service>
这使得异常消失,这并不是一件好事,因为现在什么都没有发生。在进行这些更改后,我没有收到来自我的服务的任何XML响应。除此之外,即使这样做有效,在我的所有对象中添加奇怪的静态方法也很糟糕
我遗漏了什么吗?要从Axis 1中获得正确的包装文档文字支持,我真正需要做什么?以下是Axis 1.x文档中可能有用的相关部分:
以下是轴1.x文档中可能有用的相关部分:
public static void registerTypeMapping(Call call) {
final String WSDL_TARGET_NAMESPACE = "http://www.acme.com/";
final QName QNAME = new QName(WSDL_TARGET_NAMESPACE);
call.registerTypeMapping(Reponse.class, QNAME,
new BeanSerializerFactory(Response.class, QNAME),
new BeanDeserializerFactory(Response.class, QNAME));
}