You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (JIRA)" <ji...@apache.org> on 2008/06/09 21:18:45 UTC

[jira] Commented: (CXF-1613) Microsoft Reporting Services Requests support

    [ 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.