2011-09-26 55 views
0

我正在使用org.apache.axis2来创建wsdl。我们的代码正在实施ScemaGenerator并有我们的补充。我试图找到一种方法来创建带有头部定义的wsdl,它将包含用户名和密码。我怎样才能通过代码做到这一点,而不是在它创建后通过文件编辑?如果我没有选择,我需要编辑这个文件,那么正确的sintax要做什么?我写的是当它用于wsdl2Java时创建wsdl解析错误。我的代码:使用axis2创建标题java2wsdl - 如何?

<wsdl:message name="wsDirectLoginRequest"> 
    <wsdl:part name="parameters" element="ns:wsDirectLogin"> 
    </wsdl:part> 
    <wsdl:part name="request_header" element="intf:pswd"> 
    </wsdl:message> 
... 
    <wsdl:input message="ns:wsDirectLoginRequest" wsaw:Action="urn:wsDirectLogin"> 
    <wsdlsoap:header message="intf:wsDirectLoginRequest" part="request_header" use="literal"/> 
     <wsdlsoap:body use="literal" parts="parameters"/> 
    </wsdl:input> 
... 

我在做什么错? 谢谢

+0

你的标题究竟代表什么?你提到了一个用户名和密码,它是一个自定义的认证机制还是一个标准的WS-Security UsernameToken或者其他的东西? – tokkov

回答

0

无法使用Axis2附带的DefaultSchemaGenerator执行此操作。

你得到的wsdl错误是什么?请在这里查看正确的wsdl [1]。

但正如先前的评论指出的那样,无论您是需要使用WS-Security(使用rampart)还是手动添加标头,都会更好。

[1] http://wso2.org/node/2935/

相关问题