[jbossts-issues] [JBoss JIRA] Commented: (JBTM-778) WSDL bindings in XTS code employ the wrong attribute in the binding:operation:input/output declarations
Mauro Molinari (JIRA)
jira-events at lists.jboss.org
Fri Aug 20 06:11:12 EDT 2010
[ https://jira.jboss.org/browse/JBTM-778?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12546059#action_12546059 ]
Mauro Molinari commented on JBTM-778:
-------------------------------------
I found the problem, that's my fault: I looked at the wrong type definition. The correct one to look at is that defining the type for the input element of the tBindingOperation type, which is tBindingOperationMessage:
<xs:complexType name="tBindingOperationMessage">
<xs:complexContent>
<xs:extension base="wsdl:tExtensibleDocumented">
<xs:attribute name="name" type="xs:NCName" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
So, here the name attribute is optional and the WSDL parser is coherent.
Anyway, please note that trying your original fix (<wsdl:input name="wsat:Committed"> ), when exposing the web service CXF does not agree:
[cut]
Caused by: java.lang.IllegalArgumentException: An operation with name [{http://docs.oasis-open.org/ws-tx/wsat/2006/06}CommittedOperation] already exists in this service
at org.apache.cxf.service.model.InterfaceInfo.addOperation(InterfaceInfo.java:71)
[cut]
So the actual fix must be that of just removing the message attribute, as you said.
> WSDL bindings in XTS code employ the wrong attribute in the binding:operation:input/output declarations
> -------------------------------------------------------------------------------------------------------
>
> Key: JBTM-778
> URL: https://jira.jboss.org/browse/JBTM-778
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: XTS
> Affects Versions: 4.12.0
> Reporter: Andrew Dinn
> Assignee: Andrew Dinn
> Fix For: 4.13.0
>
>
> The WSDL for the WSTX service bindings employs the invalid attribute "message" for the binding:operation:input and binding:operation:output elements. The correct attribute name is "name". e.g. in wscoor-activation-binding.wsdl the declaration is
> <wsdl:binding name="Activation_SOAPBinding" type="wscoor:ActivationPortType">
> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
> <wsdl:operation name="CreateCoordinationContextOperation">
> <wsdl:input message="wscoor:CreateCoordinationContext">
> <soap:body use="literal"/>
> </wsdl:input>
> <wsdl:output message="wscoor:CreateCoordinationContextResponse">
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> </wsdl:binding>
> The correct version should be
> <wsdl:binding name="Activation_SOAPBinding" type="wscoor:ActivationPortType">
> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
> <wsdl:operation name="CreateCoordinationContextOperation">
> <wsdl:input name="wscoor:CreateCoordinationContext">
> <soap:body use="literal"/>
> </wsdl:input>
> <wsdl:output name="wscoor:CreateCoordinationContextResponse">
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> </wsdl:binding>
> According to a comment in the flle this was a workaround for an error in the com.ibm.wsdl parsing which now appears to have been fixed. The WSDL should be updated accordingly.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jbossts-issues
mailing list