cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Diesler (JIRA)" <j...@apache.org>
Subject [jira] Updated: (CXF-1302) PolicyException on incorrect policy namespace
Date Fri, 14 Dec 2007 14:03:43 GMT

     [ https://issues.apache.org/jira/browse/CXF-1302?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Thomas Diesler updated CXF-1302:
--------------------------------

    Description: 
I'm trying to integrate CXF WS-RM into JBoss

>From the example on the wiki 

http://cwiki.apache.org/CXF20DOC/wsrmconfiguration.html

I use

<beans xmlns='http://www.springframework.org/schema/beans' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xmlns:beans='http://www.springframework.org/schema/beans'
  xmlns:jaxws='http://cxf.apache.org/jaxws' xmlns:p="http://cxf.apache.org/policy"
  xsi:schemaLocation='http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
  http://cxf.apache.org/policy http://cxf.apache.org/schemas/policy.xsd 
  http://www.w3.org/2006/07/ws-policy http://www.w3.org/2006/11/ws-policy.xsd
  http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd'>
  
  <wsp:Policy wsu:Id="RM" xmlns:wsp="http://www.w3.org/2006/07/ws-policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <wsam:Addressing xmlns:wsam="http://www.w3.org/2007/02/addressing/metadata">
      <wsp:Policy/>
    </wsam:Addressing>
    <wsrmp:RMAssertion xmlns:wsrmp="http://schemas.xmlsoap.org/ws/2005/02/rm/policy">
      <wsrmp:BaseRetransmissionInterval Milliseconds="10000"/>
    </wsrmp:RMAssertion>
  </wsp:Policy>
  
  <jaxws:endpoint id='TestService' address='http://@jboss.bind.address@:8080/jaxws-cxf-reliable'
implementor='org.jboss.test.ws.jaxws.cxf.reliable.RMEndpointImpl'>
    
    <jaxws:invoker>
      <bean class='org.jboss.wsf.stack.cxf.InvokerJSE'/>
    </jaxws:invoker>
    
    <jaxws:features>
      <p:policies>
        <wsp:PolicyReference URI="#RM" xmlns:wsp="http://www.w3.org/2006/07/ws-policy"/>
      </p:policies>
    </jaxws:features>
    
  </jaxws:endpoint>
  
</beans>

This leads to 

Caused by: org.apache.cxf.ws.policy.PolicyException: Expected exactly one child element of
type {http://www.w3.org/ns/ws-policy}Policy.
        at org.apache.cxf.ws.policy.builder.primitive.NestedPrimitiveAssertion.<init>(NestedPrimitiveAssertion.java:70)
        at org.apache.cxf.ws.addressing.policy.AddressingAssertionBuilder.build(AddressingAssertionBuilder.java:74)
        at org.apache.cxf.ws.policy.AssertionBuilderRegistryImpl.build(AssertionBuilderRegistryImpl.java:102)
        at org.apache.cxf.ws.policy.PolicyBuilderImpl.processOperationElement(PolicyBuilderImpl.java:185)
        at org.apache.cxf.ws.policy.PolicyBuilderImpl.getPolicyOperator(PolicyBuilderImpl.java:123)
        at org.apache.cxf.ws.policy.PolicyBuilderImpl.getPolicy(PolicyBuilderImpl.java:119)


  was:
I'm trying to integrate CXF WS-RM into JBoss

>From the example on the wiki I use

<beans xmlns='http://www.springframework.org/schema/beans' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xmlns:beans='http://www.springframework.org/schema/beans'
  xmlns:jaxws='http://cxf.apache.org/jaxws' xmlns:p="http://cxf.apache.org/policy"
  xsi:schemaLocation='http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
  http://cxf.apache.org/policy http://cxf.apache.org/schemas/policy.xsd 
  http://www.w3.org/2006/07/ws-policy http://www.w3.org/2006/11/ws-policy.xsd
  http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd'>
  
  <wsp:Policy wsu:Id="RM" xmlns:wsp="http://www.w3.org/2006/07/ws-policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <wsam:Addressing xmlns:wsam="http://www.w3.org/2007/02/addressing/metadata">
      <wsp:Policy/>
    </wsam:Addressing>
    <wsrmp:RMAssertion xmlns:wsrmp="http://schemas.xmlsoap.org/ws/2005/02/rm/policy">
      <wsrmp:BaseRetransmissionInterval Milliseconds="10000"/>
    </wsrmp:RMAssertion>
  </wsp:Policy>
  
  <jaxws:endpoint id='TestService' address='http://@jboss.bind.address@:8080/jaxws-cxf-reliable'
implementor='org.jboss.test.ws.jaxws.cxf.reliable.RMEndpointImpl'>
    
    <jaxws:invoker>
      <bean class='org.jboss.wsf.stack.cxf.InvokerJSE'/>
    </jaxws:invoker>
    
    <jaxws:features>
      <p:policies>
        <wsp:PolicyReference URI="#RM" xmlns:wsp="http://www.w3.org/2006/07/ws-policy"/>
      </p:policies>
    </jaxws:features>
    
  </jaxws:endpoint>
  
</beans>

This leads to 

Caused by: org.apache.cxf.ws.policy.PolicyException: Expected exactly one child element of
type {http://www.w3.org/ns/ws-policy}Policy.
        at org.apache.cxf.ws.policy.builder.primitive.NestedPrimitiveAssertion.<init>(NestedPrimitiveAssertion.java:70)
        at org.apache.cxf.ws.addressing.policy.AddressingAssertionBuilder.build(AddressingAssertionBuilder.java:74)
        at org.apache.cxf.ws.policy.AssertionBuilderRegistryImpl.build(AssertionBuilderRegistryImpl.java:102)
        at org.apache.cxf.ws.policy.PolicyBuilderImpl.processOperationElement(PolicyBuilderImpl.java:185)
        at org.apache.cxf.ws.policy.PolicyBuilderImpl.getPolicyOperator(PolicyBuilderImpl.java:123)
        at org.apache.cxf.ws.policy.PolicyBuilderImpl.getPolicy(PolicyBuilderImpl.java:119)

because of 

            if (Constants.URI_POLICY_NS.equals(namespaceURI)) {

                if (Constants.ELEM_POLICY.equals(localName)) {
                    operator.addPolicyComponent(getPolicyOperator(childElement));

                } else if (Constants.ELEM_EXACTLYONE.equals(localName)) {
                    operator.addPolicyComponent(getExactlyOneOperator(childElement));

                } else if (Constants.ELEM_ALL.equals(localName)) {
                    operator.addPolicyComponent(getAllOperator(childElement));

                } else if (Constants.ELEM_POLICY_REF.equals(localName)) {
                    operator.addPolicyComponent(getPolicyReference(childElement));
                }

            } else if (null != assertionBuilderRegistry) {
                Assertion a = assertionBuilderRegistry.build(childElement);
                if (null != a) {
                    operator.addPolicyComponent(a);
                }
            }

It seems that only http://schemas.xmlsoap.org/ws/2004/09/policy

is a valid policy namespace.


> PolicyException on incorrect policy namespace
> ---------------------------------------------
>
>                 Key: CXF-1302
>                 URL: https://issues.apache.org/jira/browse/CXF-1302
>             Project: CXF
>          Issue Type: Bug
>          Components: WS-* Components
>    Affects Versions: 2.0.3
>            Reporter: Thomas Diesler
>
> I'm trying to integrate CXF WS-RM into JBoss
> From the example on the wiki 
> http://cwiki.apache.org/CXF20DOC/wsrmconfiguration.html
> I use
> <beans xmlns='http://www.springframework.org/schema/beans' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xmlns:beans='http://www.springframework.org/schema/beans'
>   xmlns:jaxws='http://cxf.apache.org/jaxws' xmlns:p="http://cxf.apache.org/policy"
>   xsi:schemaLocation='http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
>   http://cxf.apache.org/policy http://cxf.apache.org/schemas/policy.xsd 
>   http://www.w3.org/2006/07/ws-policy http://www.w3.org/2006/11/ws-policy.xsd
>   http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd'>
>   
>   <wsp:Policy wsu:Id="RM" xmlns:wsp="http://www.w3.org/2006/07/ws-policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
>     <wsam:Addressing xmlns:wsam="http://www.w3.org/2007/02/addressing/metadata">
>       <wsp:Policy/>
>     </wsam:Addressing>
>     <wsrmp:RMAssertion xmlns:wsrmp="http://schemas.xmlsoap.org/ws/2005/02/rm/policy">
>       <wsrmp:BaseRetransmissionInterval Milliseconds="10000"/>
>     </wsrmp:RMAssertion>
>   </wsp:Policy>
>   
>   <jaxws:endpoint id='TestService' address='http://@jboss.bind.address@:8080/jaxws-cxf-reliable'
implementor='org.jboss.test.ws.jaxws.cxf.reliable.RMEndpointImpl'>
>     
>     <jaxws:invoker>
>       <bean class='org.jboss.wsf.stack.cxf.InvokerJSE'/>
>     </jaxws:invoker>
>     
>     <jaxws:features>
>       <p:policies>
>         <wsp:PolicyReference URI="#RM" xmlns:wsp="http://www.w3.org/2006/07/ws-policy"/>
>       </p:policies>
>     </jaxws:features>
>     
>   </jaxws:endpoint>
>   
> </beans>
> This leads to 
> Caused by: org.apache.cxf.ws.policy.PolicyException: Expected exactly one child element
of type {http://www.w3.org/ns/ws-policy}Policy.
>         at org.apache.cxf.ws.policy.builder.primitive.NestedPrimitiveAssertion.<init>(NestedPrimitiveAssertion.java:70)
>         at org.apache.cxf.ws.addressing.policy.AddressingAssertionBuilder.build(AddressingAssertionBuilder.java:74)
>         at org.apache.cxf.ws.policy.AssertionBuilderRegistryImpl.build(AssertionBuilderRegistryImpl.java:102)
>         at org.apache.cxf.ws.policy.PolicyBuilderImpl.processOperationElement(PolicyBuilderImpl.java:185)
>         at org.apache.cxf.ws.policy.PolicyBuilderImpl.getPolicyOperator(PolicyBuilderImpl.java:123)
>         at org.apache.cxf.ws.policy.PolicyBuilderImpl.getPolicy(PolicyBuilderImpl.java:119)

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


Mime
View raw message