SoapUI Mock Service Missing operation error
<p>I want to mock a Webservice for development environment.
I have <em>SOAPUI version 5.2.1</em> and the following <em>WSDL</em>:</p>

<pre><code>&lt;wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" 
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" 
xmlns:s="http://www.w3.org/2001/XMLSchema" 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" 
xmlns:tns="http://server.com/SSO" 
targetNamespace="http://server.com/SSO"&gt;
    &lt;wsdl:documentation&gt;Web service&lt;/wsdl:documentation&gt;
    &lt;wsdl:types&gt;
        &lt;s:schema elementFormDefault="qualified" targetNamespace="http://server.com/SSO"&gt;
            &lt;s:element name="GetProfile2"&gt;
                &lt;s:complexType&gt;
                    &lt;s:sequence&gt;
                        &lt;s:element maxOccurs="1" minOccurs="0" name="Token" nillable="true" type="s:string"/&gt;
                        &lt;s:element maxOccurs="1" minOccurs="0" name="SiteName" nillable="true" type="s:string"/&gt;
                        &lt;s:element maxOccurs="1" minOccurs="0" name="TimeStamp" nillable="true" type="s:string"/&gt;
                        &lt;s:element maxOccurs="1" minOccurs="0" name="EncodedPwd" nillable="true" type="s:string"/&gt;
                        &lt;s:element maxOccurs="1" minOccurs="0" name="EncodedType" nillable="true" type="s:string"/&gt;
                        &lt;s:element maxOccurs="1" minOccurs="0" name="Filter" nillable="true" type="s:string"/&gt;
                    &lt;/s:sequence&gt;
                &lt;/s:complexType&gt;
            &lt;/s:element&gt;
            &lt;s:element name="GetProfile2Response"&gt;
                &lt;s:complexType&gt;
                    &lt;s:sequence&gt;
                        &lt;s:element maxOccurs="1" minOccurs="0" name="GetProfile2Result" type="s:string"/&gt;
                    &lt;/s:sequence&gt;
                &lt;/s:complexType&gt;
            &lt;/s:element&gt;
            &lt;s:element name="GetCache"&gt;
                &lt;s:complexType/&gt;
            &lt;/s:element&gt;
            &lt;s:element name="GetCacheResponse"&gt;
                &lt;s:complexType&gt;
                    &lt;s:sequence&gt;
                        &lt;s:element maxOccurs="1" minOccurs="0" name="GetCacheResult" type="s:string"/&gt;
                    &lt;/s:sequence&gt;
                &lt;/s:complexType&gt;
            &lt;/s:element&gt;
            &lt;s:element name="string" nillable="true" type="s:string"/&gt;
        &lt;/s:schema&gt;
    &lt;/wsdl:types&gt;
    &lt;wsdl:message name="GetProfile2SoapOut"&gt;
        &lt;wsdl:part element="tns:GetProfile2Response" name="parameters"&gt;
        &lt;/wsdl:part&gt;
    &lt;/wsdl:message&gt;  
    &lt;wsdl:message name="GetProfile2SoapIn"&gt;
        &lt;wsdl:part element="tns:GetProfile2" name="parameters"&gt;
        &lt;/wsdl:part&gt;
    &lt;/wsdl:message&gt;
    &lt;wsdl:portType name="ServiceSoap"&gt;
        &lt;wsdl:operation name="GetProfile2"&gt;
            &lt;wsdl:documentation&gt;Returns a user&lt;/wsdl:documentation&gt;
            &lt;wsdl:input message="tns:GetProfile2SoapIn"&gt;
            &lt;/wsdl:input&gt;
            &lt;wsdl:output message="tns:GetProfile2SoapOut"&gt;
            &lt;/wsdl:output&gt;
        &lt;/wsdl:operation&gt;
        &lt;wsdl:operation name="GetCache"&gt;
            &lt;wsdl:documentation&gt;Returns the cached abilitations.&lt;/wsdl:documentation&gt;
            &lt;wsdl:input message="tns:GetCacheSoapIn"&gt;
            &lt;/wsdl:input&gt;
            &lt;wsdl:output message="tns:GetCacheSoapOut"&gt;
            &lt;/wsdl:output&gt;
        &lt;/wsdl:operation&gt;
    &lt;/wsdl:portType&gt;
    &lt;wsdl:binding name="ServiceSoap" type="tns:ServiceSoap"&gt;
        &lt;soap:binding transport="http://schemas.xmlsoap.org/soap/http"/&gt;
        &lt;wsdl:operation name="GetProfile2"&gt;
            &lt;soap:operation soapAction="http://server.com/SSO/GetProfile2" style="document"/&gt;
            &lt;wsdl:input&gt;
                &lt;soap:body use="literal"/&gt;
            &lt;/wsdl:input&gt;
            &lt;wsdl:output&gt;
                &lt;soap:body use="literal"/&gt;
            &lt;/wsdl:output&gt;
        &lt;/wsdl:operation&gt;
        &lt;wsdl:operation name="GetCache"&gt;
            &lt;soap:operation soapAction="http://server.com/SSO/GetCache" style="document"/&gt;
            &lt;wsdl:input&gt;
                &lt;soap:body use="literal"/&gt;
            &lt;/wsdl:input&gt;
            &lt;wsdl:output&gt;
                &lt;soap:body use="literal"/&gt;
            &lt;/wsdl:output&gt;
        &lt;/wsdl:operation&gt;
    &lt;/wsdl:binding&gt; 
    &lt;wsdl:service name="Service"&gt;
        &lt;wsdl:documentation&gt;Web service&lt;/wsdl:documentation&gt;
        &lt;wsdl:port binding="tns:ServiceSoap" name="ServiceSoap"&gt;
            &lt;soap:address location="http://server.com:7001/services/Service.ServiceSoap/"/&gt;
        &lt;/wsdl:port&gt;   
    &lt;/wsdl:service&gt;
&lt;/wsdl:definitions&gt;
</code></pre>

<p>I've created in <em>SOAPUI</em> a new soap project, with mock service, I've set the host and the port of the <em>Weblogic server 12c</em> where I have to install the war.</p>

<p>In <em>SOAPUI</em> preferences I have unchecked Logs wire content of all...", in MockService Properties I have set "Require SAOP Action" to false, and I've export as WAR the project and install into <em>Weblogic 12c</em>.</p>

<p>Ok, the problem is that, the first call to the webservice is ok, and I get the expected response.</p>

<p>From the second call I get the following error:</p>

<pre><code>com.eviware.soapui.impl.wsdl.mock.DispatchException: Missing operation for soapAction [http://server.com/SSO/GetProfile2] and body element [{http://server.com/SSO}GetProfile2] with SOAP Version [SOAP 1.1]
at com.eviware.soapui.impl.wsdl.support.soap.SoapUtils.findOperationForRequest(SoapUtils.java:330)
at com.eviware.soapui.impl.wsdl.mock.WsdlMockDispatcher.dispatchPostRequest(WsdlMockDispatcher.java:191)
at com.eviware.soapui.impl.wsdl.mock.WsdlMockDispatcher.dispatchRequest(WsdlMockDispatcher.java:113)
at com.eviware.soapui.impl.wsdl.mock.WsdlMockRunner.dispatchRequest(WsdlMockRunner.java:142)
at com.eviware.soapui.mockaswar.MockAsWarServlet$MockServletSoapUICore.dispatchRequest(MockAsWarServlet.java:247)
at com.eviware.soapui.mockaswar.MockAsWarServlet.service(MockAsWarServlet.java:182)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:286)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:260)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:137)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:350)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:247)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3650)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3620)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:326)
at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:196)
at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203)
at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71)
at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2423)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2280)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2258)
at weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1626)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1586)
at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:270)
at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:348)
at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:333)
at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:54)
at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:617)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:397)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:346)
</code></pre>

<p>If i remove the message tags from wsdl everything is ok. Help me Please!!!</p>