OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

cmis message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [OASIS Issue Tracker] Commented: (CMIS-653) WSDL needs soapActionvalue in operation declarations for increased interoperability with .NET



    [ http://tools.oasis-open.org/issues/browse/CMIS-653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=19308#action_19308 ] 

Celso Rodriguez commented on CMIS-653:
--------------------------------------

As requested during the last TC call, here is more detail on what tools have a problem with the current WSDL and what the symptoms are. 

The following shows the code generated with the current WSDL vs. WSDL corrected to specify a soapAction:
1. Using svcutil.exe version 4.0.21006.1 included with VS 2010:
   - With 1.0 WSDL, svcutil.exe produces  [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
   - With the corrected WSDL, svcutil.exe produces [System.ServiceModel.OperationContractAttribute(Action="getDescendants", ReplyAction="*")]
2. Using wsdl.exe version 2.0.50727.3603 included with VS 2005:
   - With 1.0 WSDL, wsdl.exe produces [System.Web.Services.Protocols.SoapDocumentMethodAttribute("", RequestNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/";, ResponseNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/";, Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
   - With the corrected WSDL, wsdl.exe produces [System.Web.Services.Protocols.SoapDocumentMethodAttribute("getDescendants", RequestNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/";, ResponseNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/";, Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]

As you can see from the samples above, without the soapAction in the WSDL, all calls these tools generate to System.ServiceModel.OperationContractAttribute or System.Web.Services.Protocols.SoapDocumentMethodAttribute are identical regardless of the intended operation, so the although the tools generate the code successfully it doesn't work at run time. 

The runtime symptoms are:
1. When attempting to access the service from a client you'd receive this message:  The methods getChildren and getDescendants use the same SOAPAction ''. When the RoutingStyle of the XML Web service is SoapAction, SOAPAction values must be unique across methods on the XML Web service. You can change the SOAPAction with the Action parameter to the SoapDocumentMethod or SoapRpcMethod attributes, or you can specify a RoutingStyle of RequestElement on the XML Web service.
2. When attempting to access the service from a client you'd receive this message:  The operations getDescendants and getChildren have the same action ().  Every operation must have a unique action value.

> WSDL needs soapAction value in operation declarations for increased interoperability with .NET
> ----------------------------------------------------------------------------------------------
>
>                 Key: CMIS-653
>                 URL: http://tools.oasis-open.org/issues/browse/CMIS-653
>             Project: OASIS Content Management Interoperability Services (CMIS) TC
>          Issue Type: Improvement
>          Components: Web Services Binding
>    Affects Versions: Draft 0.70
>            Reporter: Celso Rodriguez
>            Assignee: Al Brown
>            Priority: Minor
>
> The WSDL for the web services binding specifies empty soapAction attributes in operation declarations. These empty soapAction attributes cause problems when you try to implement the services using .NET tools. If you want to implement the services in either traditional ASMX or WCF you will need to manually modify the WSDL to fill in the missing soapAction attribute. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://tools.oasis-open.org/issues/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]