I have a former xfire service that I'm upgrading to cxf. I think I have the
service part down i.e., I have it deployed (Resin 3.1.6, Spring 2.0.6) using
the simple server/aegis binding set up and I see the WSDL when I access the
service URL. The problem I'm having appears to be with the client. My client
looks as follows:

public class SessionServiceClientImpl implements MessageSourceAware,
SessionService {
    private SessionService sei = null;
    ...
    public SessionService getProxyService() {
        
        String oldAddress = address;
        address = messageSource.getMessage("sessionservice.endpoint", null,
Locale.US);

        if (sei == null || !oldAddress.equals(address)) {
            ClientProxyFactoryBean factory = new ClientProxyFactoryBean();
            factory.setDataBinding(new AegisDatabinding());
            factory.setServiceClass(SessionService.class);
            factory.setAddress(address);
            sei = (SessionService) factory.create();
        }
        return sei;

    }
...

}

When I attempt to access the service using this client via my unit test I
get the following error ...

org.apache.cxf.binding.soap.SoapFault: Fault occurred while processing.
        at
org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:70)
        at
org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:35)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
        at
org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:96)
        at
org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:65)
        at
org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
        at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:429)
        at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1988)
        at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1824)
        at 
org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
        at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:583)
        at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:276)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:222)
        at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
        at org.apache.cxf.frontend.ClientProxy.invoke(ClientProxy.java:68)
        at $Proxy17.setValue(Unknown Source)
        at
com.zag.sessionservice.client.SessionServiceClientImpl.setValue(SessionServiceClientImpl.java:48)
        at
com.zag.sessionservice.client.TestSessionService.testSessionService(TestSessionService.java:27)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at junit.framework.TestCase.runTest(TestCase.java:168)
        at junit.framework.TestCase.runBare(TestCase.java:134)
        at junit.framework.TestResult$1.protect(TestResult.java:110)
        at junit.framework.TestResult.runProtected(TestResult.java:128)
        at junit.framework.TestResult.run(TestResult.java:113)
        at junit.framework.TestCase.run(TestCase.java:124)
        at junit.framework.TestSuite.runTest(TestSuite.java:232)
        at junit.framework.TestSuite.run(TestSuite.java:227)
        at
org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:81)
        at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
        at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
        at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
        at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
        at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

WSDL looks as follows ...

    <wsdl:definitions name="SessionService"
targetNamespace="http://common.sessionservice.zag.com/";>
        
        <wsdl:types>
            
            <xsd:schema attributeFormDefault="unqualified"
elementFormDefault="qualified"
                targetNamespace="http://common.sessionservice.zag.com/";>
                <xsd:element name="cleanUp" type="tns:cleanUp"/>
                
                <xsd:complexType name="cleanUp">
                    <xsd:sequence/>
                </xsd:complexType>
                <xsd:element name="cleanUpResponse"
type="tns:cleanUpResponse"/>
                
                <xsd:complexType name="cleanUpResponse">
                    
                    <xsd:sequence>
                        <xsd:element name="return" type="xsd:int"/>
                    </xsd:sequence>
                </xsd:complexType>
                <xsd:element name="getValue" type="tns:getValue"/>
                
                <xsd:complexType name="getValue">
                    
                    <xsd:sequence>
                        <xsd:element minOccurs="0" name="arg0"
type="xsd:string"/>
                        <xsd:element minOccurs="0" name="arg1"
type="xsd:string"/>
                    </xsd:sequence>
                </xsd:complexType>
                <xsd:element name="getValueResponse"
type="tns:getValueResponse"/>
                
                <xsd:complexType name="getValueResponse">
                    
                    <xsd:sequence>
                        <xsd:element minOccurs="0" name="return"
type="xsd:string"/>
                    </xsd:sequence>
                </xsd:complexType>
                <xsd:element name="setValue" type="tns:setValue"/>
                
                <xsd:complexType name="setValue">
                    
                    <xsd:sequence>
                        <xsd:element minOccurs="0" name="arg0"
type="xsd:string"/>
                        <xsd:element minOccurs="0" name="arg1"
type="xsd:string"/>
                        <xsd:element minOccurs="0" name="arg2"
type="xsd:string"/>
                    </xsd:sequence>
                </xsd:complexType>
                <xsd:element name="setValueResponse"
type="tns:setValueResponse"/>
                
                <xsd:complexType name="setValueResponse">
                    <xsd:sequence/>
                </xsd:complexType>
                <xsd:element name="touchSession" type="tns:touchSession"/>
                
                <xsd:complexType name="touchSession">
                    
                    <xsd:sequence>
                        <xsd:element minOccurs="0" name="arg0"
type="xsd:string"/>
                    </xsd:sequence>
                </xsd:complexType>
                <xsd:element name="touchSessionResponse"
type="tns:touchSessionResponse"/>
                
                <xsd:complexType name="touchSessionResponse">
                    
                    <xsd:sequence>
                        <xsd:element name="return" type="xsd:boolean"/>
                    </xsd:sequence>
                </xsd:complexType>
                <xsd:element name="expireSession" type="tns:expireSession"/>
                
                <xsd:complexType name="expireSession">
                    
                    <xsd:sequence>
                        <xsd:element minOccurs="0" name="arg0"
type="xsd:string"/>
                    </xsd:sequence>
                </xsd:complexType>
                <xsd:element name="expireSessionResponse"
type="tns:expireSessionResponse"/>
                
                <xsd:complexType name="expireSessionResponse">
                    <xsd:sequence/>
                </xsd:complexType>
            </xsd:schema>
        </wsdl:types>
        
        <wsdl:message name="expireSessionResponse">
            <wsdl:part element="tns:expireSessionResponse"
name="parameters">
            </wsdl:part>
        </wsdl:message>
        
        <wsdl:message name="setValueResponse">
            <wsdl:part element="tns:setValueResponse" name="parameters">
            </wsdl:part>
        </wsdl:message>
        
        <wsdl:message name="cleanUp">
            <wsdl:part element="tns:cleanUp" name="parameters">
            </wsdl:part>
        </wsdl:message>
        
        <wsdl:message name="expireSession">
            <wsdl:part element="tns:expireSession" name="parameters">
            </wsdl:part>
        </wsdl:message>
        
        <wsdl:message name="getValue">
            <wsdl:part element="tns:getValue" name="parameters">
            </wsdl:part>
        </wsdl:message>
        
        <wsdl:message name="touchSessionResponse">
            <wsdl:part element="tns:touchSessionResponse" name="parameters">
            </wsdl:part>
        </wsdl:message>
        
        <wsdl:message name="touchSession">
            <wsdl:part element="tns:touchSession" name="parameters">
            </wsdl:part>
        </wsdl:message>
        
        <wsdl:message name="cleanUpResponse">
            <wsdl:part element="tns:cleanUpResponse" name="parameters">
            </wsdl:part>
        </wsdl:message>
        
        <wsdl:message name="setValue">
            <wsdl:part element="tns:setValue" name="parameters">
            </wsdl:part>
        </wsdl:message>
        
        <wsdl:message name="getValueResponse">
            <wsdl:part element="tns:getValueResponse" name="parameters">
            </wsdl:part>
        </wsdl:message>
        
        <wsdl:portType name="SessionServicePortType">
            
            <wsdl:operation name="cleanUp">
                <wsdl:input message="tns:cleanUp" name="cleanUp">
                </wsdl:input>
                <wsdl:output message="tns:cleanUpResponse"
name="cleanUpResponse">
                </wsdl:output>
            </wsdl:operation>
            
            <wsdl:operation name="getValue">
                <wsdl:input message="tns:getValue" name="getValue">
                </wsdl:input>
                <wsdl:output message="tns:getValueResponse"
name="getValueResponse">
                </wsdl:output>
            </wsdl:operation>
            
            <wsdl:operation name="setValue">
                <wsdl:input message="tns:setValue" name="setValue">
                </wsdl:input>
                <wsdl:output message="tns:setValueResponse"
name="setValueResponse">
                </wsdl:output>
            </wsdl:operation>
            
            <wsdl:operation name="touchSession">
                <wsdl:input message="tns:touchSession" name="touchSession">
                </wsdl:input>
                <wsdl:output message="tns:touchSessionResponse"
name="touchSessionResponse">
                </wsdl:output>
            </wsdl:operation>
            
            <wsdl:operation name="expireSession">
                <wsdl:input message="tns:expireSession"
name="expireSession">
                </wsdl:input>
                <wsdl:output message="tns:expireSessionResponse"
name="expireSessionResponse">
                </wsdl:output>
            </wsdl:operation>
        </wsdl:portType>
        
        <wsdl:binding name="SessionServiceSoapBinding"
type="tns:SessionServicePortType">
            <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
            
            <wsdl:operation name="cleanUp">
                <soap:operation soapAction="" style="document"/>
                
                <wsdl:input name="cleanUp">
                    <soap:body use="literal"/>
                </wsdl:input>
                
                <wsdl:output name="cleanUpResponse">
                    <soap:body use="literal"/>
                </wsdl:output>
            </wsdl:operation>
            
            <wsdl:operation name="getValue">
                <soap:operation soapAction="" style="document"/>
                
                <wsdl:input name="getValue">
                    <soap:body use="literal"/>
                </wsdl:input>
                
                <wsdl:output name="getValueResponse">
                    <soap:body use="literal"/>
                </wsdl:output>
            </wsdl:operation>
            
            <wsdl:operation name="setValue">
                <soap:operation soapAction="" style="document"/>
                
                <wsdl:input name="setValue">
                    <soap:body use="literal"/>
                </wsdl:input>
                
                <wsdl:output name="setValueResponse">
                    <soap:body use="literal"/>
                </wsdl:output>
            </wsdl:operation>
            
            <wsdl:operation name="touchSession">
                <soap:operation soapAction="" style="document"/>
                
                <wsdl:input name="touchSession">
                    <soap:body use="literal"/>
                </wsdl:input>
                
                <wsdl:output name="touchSessionResponse">
                    <soap:body use="literal"/>
                </wsdl:output>
            </wsdl:operation>
            
            <wsdl:operation name="expireSession">
                <soap:operation soapAction="" style="document"/>
                
                <wsdl:input name="expireSession">
                    <soap:body use="literal"/>
                </wsdl:input>
                
                <wsdl:output name="expireSessionResponse">
                    <soap:body use="literal"/>
                </wsdl:output>
            </wsdl:operation>
        </wsdl:binding>
        
        <wsdl:service name="SessionService">
            
            <wsdl:port binding="tns:SessionServiceSoapBinding"
name="SessionServicePort">
                <soap:address
location="http://localhost:50080/SessionService/SessionService"/>
            </wsdl:port>
        </wsdl:service>
    </wsdl:definitions>

Appreciate any help.

Thanks,

Mieke
-- 
View this message in context: 
http://www.nabble.com/org.apache.cxf.binding.soap.SoapFault%3A-Fault-occurred-while-processing-tp17567296p17567296.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to