On Tuesday, September 06, 2011 1:49:44 PM Casey wrote:
> To anyone:
> 
> I'm trying to create a web service inside Eclipse Indigo using CXF 2.x and
> when I test it with a client, I receive the following error dump inside

What version of CXF?


Also, what libraries/jars from CXF are present in your project?

This is a WS-Security related policy so you would need cxf-rt-ws-security, 
cxf-rt-ws-addr, and cxf-rt-ws-policy to enable all the WS-SecurityPolicy 
related stuff.

Dan



> Eclipse:
> 
> Sep 6, 2011 9:20:18 AM org.apache.catalina.core.AprLifecycleListener init
> INFO: The APR based Apache Tomcat Native library which allows optimal
> performance in production environments was not found on the
> java.library.path: C:\Program Files\Java\jre6\bin;
> C:\WINDOWS\Sun\Java\bin;
> C:\WINDOWS\system32;
> C:\WINDOWS;
> C:/Program Files/Java/jre6/bin/client;
> C:/Program Files/Java/jre6/bin;
> C:/Program Files/Java/jre6/lib/i386;
> C:\WINDOWS\system32;
> C:\WINDOWS;
> C:\WINDOWS\System32\Wbem;
> C:\WINDOWS\system32\nls;
> C:\WINDOWS\system32\nls\english;
> C:\Program Files\Apache Software Foundation\Slik Subversion 1.6\bin\;
> C:\Program Files\TortoiseSVN\bin;
> C:\Program Files\Apache Software Foundation\Ant 1.8/bin;
> C:\Program Files\Apache Software Foundation\Eclipse Indigo;;.
> 
> WARNING: No assertion builder for type
> {http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1
> .0. xsd}
> SecurityToken registered.
> Sep 6, 2011 9:20:53 AM org.apache.cxf.phase.PhaseInterceptorChain
> doDefaultLogging
> 
> WARNING: Interceptor for
> {http://soap.edusystems.com/member/MemberCheck.2}MemberCheck has thrown
> exception, unwinding now
> org.apache.cxf.interceptor.Fault: None of the policy alternatives can be
> satisfied. at
> org.apache.cxf.ws.policy.AbstractPolicyInterceptor.handleMessage(
> AbstractPolicyInterceptor.java:47)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain
> . java:263)
> at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(
> ChainInitiationObserver.java:121)
> at
> org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(
> AbstractHTTPDestination.java:206)
> at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(
> ServletController.java:218)
> at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.
> java:200)
> at
> ...
> org.apache.cxf.ws.policy.EndpointPolicyImpl.getInterceptors(EndpointPolicyIm
> pl. java:126)
> at
> org.apache.cxf.ws.policy.PolicyInInterceptor.handle(PolicyInInterceptor.
> java:136) at
> org.apache.cxf.ws.policy.AbstractPolicyInterceptor.handleMessage(
> AbstractPolicyInterceptor.java:45)
> ...
> 22 more
> Sep 6, 2011 9:20:53 AM org.apache.cxf.interceptor.AbstractLoggingInterceptor
> log
> INFO: Outbound Message
> ---------------------------
> ID: 1
> Response-Code: 500
> Encoding: UTF-8
> Content-Type: text/xml
> Headers: {}
> Payload: <soap:Envelope
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";><soap:Body>
> <soap:Fault><faultcode>soap:Server</faultcode><faultstring>None
> of the policy alternatives can be
> satisfied.</faultstring></soap:Fault></soap:Body></soap:Envelope>
> --------------------------------------
> 
> 
> The web service WSDL we're using in all this is the following:
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions name="MemberCheck.2"
> targetNamespace="http://soap.edusystems.com/member/MemberCheck.2";
> xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy";
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
> xmlns:tns="http://soap.edusystems.com/member/MemberCheck.2";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";>
>   <wsdl:types>
>     <xsd:schema
> targetNamespace="http://soap.edusystems.com/member/MemberCheck.2";
> version="1.0">
>       <xsd:element name="checkMemberRequest" type="tns:checkMemberRequest"/>
> <xsd:element name="checkMemberResponse" type="tns:checkMemberResponse"/>
> <xsd:complexType name="checkMemberRequest">
>         <xsd:sequence>
>           <xsd:choice>
>             <xsd:element name="memberId" type="xsd:string"/>
>             <xsd:element name="memberMatch" type="tns:memberMatch"/>
>           </xsd:choice>
>         </xsd:sequence>
>       </xsd:complexType>
>       <xsd:complexType name="memberMatch">
>         <xsd:sequence>
>           <xsd:element minOccurs="0" name="dateOfBirth" type="xsd:date"/>
>           <xsd:element minOccurs="0" name="degree" type="xsd:string"/>
>           <xsd:element minOccurs="0" name="yearGraduated"
> type="xsd:string"/> <xsd:element minOccurs="0" name="firstYearAttended"
>         type="xsd:string"/>
>           <xsd:element minOccurs="0" name="lastYearAttended"
>         type="xsd:string"/>
>           <xsd:element minOccurs="0" name="ssnLast4" type="xsd:string"/>
>           <xsd:element minOccurs="0" name="previousSchool"
>         type="xsd:string"/>
>           <xsd:element minOccurs="0" name="memberId" type="xsd:string"/>
>           <xsd:element minOccurs="0" name="firstName" type="xsd:string"/>
>           <xsd:element minOccurs="0" name="lastName" type="xsd:string"/>
>           <xsd:element minOccurs="0" name="middleName" type="xsd:string"/>
>           <xsd:element maxOccurs="unbounded" minOccurs="0" name="custom"
> type="tns:customData"/>
>         </xsd:sequence>
>       </xsd:complexType>
>       <xsd:complexType name="customData">
>         <xsd:sequence>
>           <xsd:element name="name" type="xsd:string"/>
>           <xsd:element name="value" type="xsd:string"/>
>         </xsd:sequence>
>       </xsd:complexType>
>       <xsd:complexType name="checkMemberResponse">
>         <xsd:sequence>
>           <xsd:element minOccurs="0" name="memberId" type="xsd:string"/>
>           <xsd:element name="memberStatus" type="tns:memberStatus"/>
>           <xsd:element name="memberStatusMessage" type="xsd:string"/>
>           <xsd:element minOccurs="0" name="ude"
>         type="tns:userDefinedExtension"/>
>         </xsd:sequence>
>       </xsd:complexType>
>       <xsd:simpleType name="memberStatus">
>         <xsd:restriction base="xsd:string">
>           <xsd:enumeration value="NOMATCH"/>
>           <xsd:enumeration value="HOLD"/>
>           <xsd:enumeration value="OK"/>
>         </xsd:restriction>
>       </xsd:simpleType>
>       <xsd:complexType name="userDefinedExtension">
>         <xsd:sequence>
>           <xsd:any namespace="##other" processContents="lax"/>
>         </xsd:sequence>
>       </xsd:complexType>
>     </xsd:schema>
>   </wsdl:types>
>   <wsdl:message name="checkMemberRequest">
>     <wsdl:part name="parameters" element="tns:checkMemberRequest">
>     </wsdl:part>
>   </wsdl:message>
>   <wsdl:message name="checkMemberResponse">
>     <wsdl:part name="parameters" element="tns:checkMemberResponse">
>     </wsdl:part>
>   </wsdl:message>
>   <wsdl:portType name="MemberCheck">
>     <wsdl:operation name="checkMember">
>       <wsdl:input message="tns:checkMemberRequest">
>     </wsdl:input>
>       <wsdl:output message="tns:checkMemberResponse">
>     </wsdl:output>
>     </wsdl:operation>
>   </wsdl:portType>
>   <wsdl:binding name="MemberCheckPortBinding" type="tns:MemberCheck">
>     <soap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
>     <wsdl:operation name="checkMember">
>       <soap:operation soapAction="" style="document"/>
>       <wsdl:input>
>         <soap:body use="literal"
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
>       </wsdl:input>
>       <wsdl:output>
>         <soap:body use="literal"
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
>       </wsdl:output>
>     </wsdl:operation>
>   </wsdl:binding>
>   <wsdl:service name="MemberCheck">
>     <wsdl:port name="MemberCheckPort" binding="tns:MemberCheckPortBinding">
>       <soap:address
> location="http://localhost:8888/MemberCheck/services/MemberCheckPort"/>
>     </wsdl:port>
>   </wsdl:service>
>     <wsp:UsagePolicy wsdl:Required="true"/>
> </wsdl:definitions>
> 
> Inside my beans.xml file, I have the following:
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns="http://www.springframework.org/schema/beans";
>       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xmlns:jaxws="http://cxf.apache.org/jaxws";
>       xsi:schemaLocation="http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
> http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd";>
>       <import resource="classpath:META-INF/cxf/cxf.xml" />
>       <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
>       <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
>       <import
>       resource="classpath:META-INF/cxf/cxf-extension-ws-security.xml" />
>       <import resource="classpath:META-INF/cxf/cxf-extension-addr.xml" />
>       <jaxws:endpoint
>       xmlns:tns="http://soap.edusystems.com/member/MemberCheck.2";
>       id="membercheck"
> implementor="com.edusystems.soap.member.membercheck.MemberCheckImpl"
>               wsdlLocation="wsdl/MemberCheck.wsdl"
>               endpointName="tns:MemberCheckPort"
>               serviceName="tns:MemberCheck" address="/MemberCheckPort">
>               <jaxws:features>
>                       <bean class="org.apache.cxf.feature.LoggingFeature" />
>               </jaxws:features>
>       </jaxws:endpoint>
> </beans>
> 
> 
> I've tried removing every import in the beans.xml file except the "cxf.xml"
> line to no avail and I've also tried setting all assertions inside the WSDL
> requiring usage to "optional" to no avail as well.
> 
> Could someone throw some light on this for me? I'm really at a loss here...
-- 
Daniel Kulp
[email protected]
http://dankulp.com/blog
Talend - http://www.talend.com

Reply via email to