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 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(EndpointPolicyImpl.
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...

Reply via email to