[ 
https://issues.apache.org/jira/browse/CXF-1613?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12603649#action_12603649
 ] 

Daniel Kulp commented on CXF-1613:
----------------------------------


The schema specifically says:

elementFormDefault="unqualified"

Thus, the message CXF is expecting is the correct message and the one SSRS is 
producing is wrong.  This is a bug in SSRS.

Now, that said, from the description, I assume you control the service?    Is 
this a wsdl first or code first case?      If it's wsdl first, you could modify 
the wsdl/schema to change the above to "qualified" and regenerate the code.

If it's code first, there are ways to set it via spring:
  <jaxws:server address="/jaxwsAndJaxb" 
    serviceClass="org.apache.cxf.authservice.AuthService"> 
    <jaxws:serviceBean> 
      <bean class="org.apache.cxf.authservice.AuthServiceImpl" /> 
    </jaxws:serviceBean> 
    <jaxws:serviceFactory> 
<bean class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"> 
<property name="qualifiedSchemas" value="true"/> 
</bean> 
    </jaxws:serviceFactory> 
   </jaxws:server> 


or via an annotation in the package-info.java.   
@javax.xml.bind.annotation.XmlSchema(
        namespace = "yyy", 
       elementFormDefault=javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package yyy;


> Microsoft Reporting Services Requests support
> ---------------------------------------------
>
>                 Key: CXF-1613
>                 URL: https://issues.apache.org/jira/browse/CXF-1613
>             Project: CXF
>          Issue Type: Improvement
>          Components: Soap Binding
>    Affects Versions: 2.0.6
>         Environment: Windows XP Pro, MS SQL Server 2005, Apache CXF 2.0.5
>            Reporter: Sergey Pulyaev
>            Priority: Minor
>         Attachments: DocLiteralInInterceptor.diff, request.wsdl
>
>
> http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=3399523&SiteID=1
> Hello,
> I am using MS Sql Server Reporting Services with web services written in java.
> Here is my query:
> Code Snippet
> <Query>
>   <Method Namespace="http://test.com/"; Name="getLoggedActivity">
>   <Parameters>
>     <Parameter Name="userID" Type="Integer" />
> </Parameters>
> </Method>
>    <SoapAction>http://test.com/getLoggedActivity</SoapAction>
>        <ElementPath IgnoreNamespaces="true">
>              getLoggedActivityResponse{}/return{Date(Date),Purchaser}
>        </ElementPath>
> </Query>
> SSRS produces following request:
> Code Snippet
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
>   <soap:Body>
>     <getLoggedActivity xmlns="http://ws.test.com/";>
>       <userId>1</userId>
>     </getLoggedActivity>
>   </soap:Body>
> </soap:Envelope>
> But CXF waiting for the following request:
> Code Snippet
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"; 
> xmlns:ws="http://ws.test.com/";>
>    <soap:Body>
>       <ws:getLoggedActivity>
>          <userId>1</userId>
>       </ws:getLoggedActivity>
>    </soap:Body>
> </soap:Envelope>
> In other words - in request from SQL reporting services attributes of method 
> call obtains namespaces "http://ws.test.com/";  instead of empty one - and do 
> not found by DocLiteralInInterceptor to apply as parameters of method call.
> I made a patch to support this situation.
> Best regards, Sergey

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to