Hi,
I have a wcf service that produces the following wsdl. This wsdl worked perfect with SoapClient but when fed to WSClient it choked with the message "Message = Namespace Error".
Do you have any insights as to why this happened? Also is there a way to chase down what are the offended/missing namespaces? The wsf_php_client.log is not very helpful for this type of problem.
<?xml version="1.0"?>
<wsdl:definitions
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract"
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:wsa10="http://www.w3.org/2005/08/addressing"
xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://test/hvcontracts/echo"
targetNamespace="http://test/hvcontracts/echo">
<wsdl:types>
<xsd:schema targetNamespace="http://test/hvcontracts/echo/Imports">
<xsd:import schemaLocation="test.hvcontracts.echo.xsd" namespace="http://test/hvcontracts/echo" />
</xsd:schema>
</wsdl:types>
<wsdl:message name="EchoRequest">
<wsdl:part name="Echo" element="tns:Echo" />
</wsdl:message>
<wsdl:message name="EchoRequest_Headers">
<wsdl:part name="hvAppSessionId" element="tns:hvAppSessionId" />
<wsdl:part name="hvAuthenticationToken" element="tns:hvAuthenticationToken" />
<wsdl:part name="hvCallerApplication" element="tns:hvCallerApplication" />
<wsdl:part name="hvUserId" element="tns:hvUserId" />
</wsdl:message>
<wsdl:message name="EchoResponse">
<wsdl:part name="EchoList" element="tns:EchoList" />
</wsdl:message>
<wsdl:message name="EchoResponse_Headers">
<wsdl:part name="ReturnInfoList" element="tns:ReturnInfoList" />
<wsdl:part name="returnStatus" element="tns:ReturnStatus" />
</wsdl:message>
<wsdl:message name="HvBaseDeleteRequest">
<wsdl:part name="Key" element="tns:Key" />
<wsdl:part name="Timestamp" element="tns:Timestamp" />
</wsdl:message>
<wsdl:message name="HvBaseDeleteRequest_Headers">
<wsdl:part name="hvAppSessionId" element="tns:hvAppSessionId" />
<wsdl:part name="hvAuthenticationToken" element="tns:hvAuthenticationToken" />
<wsdl:part name="hvCallerApplication" element="tns:hvCallerApplication" />
<wsdl:part name="hvUserId" element="tns:hvUserId" />
</wsdl:message>
<wsdl:message name="HvBaseResponse" />
<wsdl:message name="HvBaseResponse_Headers">
<wsdl:part name="ReturnInfoList" element="tns:ReturnInfoList" />
<wsdl:part name="returnStatus" element="tns:ReturnStatus" />
</wsdl:message>
<wsdl:message name="HvBaseRetrieveRequest">
<wsdl:part name="Key" element="tns:Key" />
</wsdl:message>
<wsdl:message name="HvBaseRetrieveRequest_Headers">
<wsdl:part name="hvAppSessionId" element="tns:hvAppSessionId" />
<wsdl:part name="hvAuthenticationToken" element="tns:hvAuthenticationToken" />
<wsdl:part name="hvCallerApplication" element="tns:hvCallerApplication" />
<wsdl:part name="hvUserId" element="tns:hvUserId" />
</wsdl:message>
<wsdl:message name="HvBaseRetrieveDynamicRequest">
<wsdl:part name="Columns" element="tns:Columns" />
<wsdl:part name="Filter" element="tns:Filter" />
<wsdl:part name="OrderBy" element="tns:OrderBy" />
</wsdl:message>
<wsdl:message name="HvBaseRetrieveDynamicRequest_Headers">
<wsdl:part name="hvAppSessionId" element="tns:hvAppSessionId" />
<wsdl:part name="hvAuthenticationToken" element="tns:hvAuthenticationToken" />
<wsdl:part name="hvCallerApplication" element="tns:hvCallerApplication" />
<wsdl:part name="hvUserId" element="tns:hvUserId" />
</wsdl:message>
<wsdl:message name="HvBaseUpdateDynamicRequest">
<wsdl:part name="UpdateDefinition" element="tns:UpdateDefinition" />
</wsdl:message>
<wsdl:message name="HvBaseUpdateDynamicRequest_Headers">
<wsdl:part name="hvAppSessionId" element="tns:hvAppSessionId" />
<wsdl:part name="hvAuthenticationToken" element="tns:hvAuthenticationToken" />
<wsdl:part name="hvCallerApplication" element="tns:hvCallerApplication" />
<wsdl:part name="hvUserId" element="tns:hvUserId" />
</wsdl:message>
<wsdl:message name="IEcho_GetMetrics_InputMessage" />
<wsdl:message name="GetMetricsResponse">
<wsdl:part name="MetricsXml" element="tns:MetricsXml" />
<wsdl:part name="Echo" element="tns:Echo" />
</wsdl:message>
<wsdl:message name="GetMetricsResponse_Headers">
<wsdl:part name="ReturnInfoList" element="tns:ReturnInfoList" />
<wsdl:part name="returnStatus" element="tns:ReturnStatus" />
</wsdl:message>
<wsdl:portType name="IEcho">
<wsdl:operation name="Insert">
<wsdl:input wsaw:Action="http://test/hvcontracts/echo/IEcho/Insert" name="EchoRequest" message="tns:EchoRequest" />
<wsdl:output wsaw:Action="http://test/hvcontracts/echo/IEcho/InsertResponse" name="EchoResponse" message="tns:EchoResponse" />
</wsdl:operation>
<wsdl:operation name="Update">
<wsdl:input wsaw:Action="http://test/hvcontracts/echo/IEcho/Update" name="EchoRequest" message="tns:EchoRequest" />
<wsdl:output wsaw:Action="http://test/hvcontracts/echo/IEcho/UpdateResponse" name="EchoResponse" message="tns:EchoResponse" />
</wsdl:operation>
<wsdl:operation name="Delete">
<wsdl:input wsaw:Action="http://test/hvcontracts/echo/IEcho/Delete" name="HvBaseDeleteRequest" message="tns:HvBaseDeleteRequest" />
<wsdl:output wsaw:Action="http://test/hvcontracts/echo/IEcho/DeleteResponse" name="HvBaseResponse" message="tns:HvBaseResponse" />
</wsdl:operation>
<wsdl:operation name="Retrieve">
<wsdl:input wsaw:Action="http://test/hvcontracts/echo/IEcho/Retrieve" name="HvBaseRetrieveRequest" message="tns:HvBaseRetrieveRequest" />
<wsdl:output wsaw:Action="http://test/hvcontracts/echo/IEcho/RetrieveResponse" name="EchoResponse" message="tns:EchoResponse" />
</wsdl:operation>
<wsdl:operation name="RetrieveDynamic">
<wsdl:input wsaw:Action="http://test/hvcontracts/echo/IEcho/RetrieveDynamic" name="HvBaseRetrieveDynamicRequest" message="tns:HvBaseRetrieveDynamicRequest" />
<wsdl:output wsaw:Action="http://test/hvcontracts/echo/IEcho/RetrieveDynamicResponse" name="EchoResponse" message="tns:EchoResponse" />
</wsdl:operation>
<wsdl:operation name="UpdateDynamic">
<wsdl:input wsaw:Action="http://test/hvcontracts/echo/IEcho/UpdateDynamic" name="HvBaseUpdateDynamicRequest" message="tns:HvBaseUpdateDynamicRequest" />
<wsdl:output wsaw:Action="http://test/hvcontracts/echo/IEcho/UpdateDynamicResponse" name="EchoResponse" message="tns:EchoResponse" />
</wsdl:operation>
<wsdl:operation name="GetMetrics">
<wsdl:input wsaw:Action="http://test/hvcontracts/echo/IEcho/GetMetrics" message="tns:IEcho_GetMetrics_InputMessage" />
<wsdl:output wsaw:Action="http://test/hvcontracts/echo/IEcho/GetMetricsResponse" name="GetMetricsResponse" message="tns:GetMetricsResponse" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="DefaultBinding_IEcho" type="tns:IEcho">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="Insert">
<soap:operation soapAction="http://test/hvcontracts/echo/IEcho/Insert" style="document" />
<wsdl:input name="EchoRequest">
<soap:header message="tns:EchoRequest_Headers" part="hvAppSessionId" use="literal" />
<soap:header message="tns:EchoRequest_Headers" part="hvAuthenticationToken" use="literal" />
<soap:header message="tns:EchoRequest_Headers" part="hvCallerApplication" use="literal" />
<soap:header message="tns:EchoRequest_Headers" part="hvUserId" use="literal" />
<soap:body use="literal" />
</wsdl:input>
<wsdl:output name="EchoResponse">
<soap:header message="tns:EchoResponse_Headers" part="ReturnInfoList" use="literal" />
<soap:header message="tns:EchoResponse_Headers" part="returnStatus" use="literal" />
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="Update">
<soap:operation soapAction="http://test/hvcontracts/echo/IEcho/Update" style="document" />
<wsdl:input name="EchoRequest">
<soap:header message="tns:EchoRequest_Headers" part="hvAppSessionId" use="literal" />
<soap:header message="tns:EchoRequest_Headers" part="hvAuthenticationToken" use="literal" />
<soap:header message="tns:EchoRequest_Headers" part="hvCallerApplication" use="literal" />
<soap:header message="tns:EchoRequest_Headers" part="hvUserId" use="literal" />
<soap:body use="literal" />
</wsdl:input>
<wsdl:output name="EchoResponse">
<soap:header message="tns:EchoResponse_Headers" part="ReturnInfoList" use="literal" />
<soap:header message="tns:EchoResponse_Headers" part="returnStatus" use="literal" />
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="Delete">
<soap:operation soapAction="http://test/hvcontracts/echo/IEcho/Delete" style="document" />
<wsdl:input name="HvBaseDeleteRequest">
<soap:header message="tns:HvBaseDeleteRequest_Headers" part="hvAppSessionId" use="literal" />
<soap:header message="tns:HvBaseDeleteRequest_Headers" part="hvAuthenticationToken" use="literal" />
<soap:header message="tns:HvBaseDeleteRequest_Headers" part="hvCallerApplication" use="literal" />
<soap:header message="tns:HvBaseDeleteRequest_Headers" part="hvUserId" use="literal" />
<soap:body use="literal" />
</wsdl:input>
<wsdl:output name="HvBaseResponse">
<soap:header message="tns:HvBaseResponse_Headers" part="ReturnInfoList" use="literal" />
<soap:header message="tns:HvBaseResponse_Headers" part="returnStatus" use="literal" />
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="Retrieve">
<soap:operation soapAction="http://test/hvcontracts/echo/IEcho/Retrieve" style="document" />
<wsdl:input name="HvBaseRetrieveRequest">
<soap:header message="tns:HvBaseRetrieveRequest_Headers" part="hvAppSessionId" use="literal" />
<soap:header message="tns:HvBaseRetrieveRequest_Headers" part="hvAuthenticationToken" use="literal" />
<soap:header message="tns:HvBaseRetrieveRequest_Headers" part="hvCallerApplication" use="literal" />
<soap:header message="tns:HvBaseRetrieveRequest_Headers" part="hvUserId" use="literal" />
<soap:body use="literal" />
</wsdl:input>
<wsdl:output name="EchoResponse">
<soap:header message="tns:EchoResponse_Headers" part="ReturnInfoList" use="literal" />
<soap:header message="tns:EchoResponse_Headers" part="returnStatus" use="literal" />
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="RetrieveDynamic">
<soap:operation soapAction="http://test/hvcontracts/echo/IEcho/RetrieveDynamic" style="document" />
<wsdl:input name="HvBaseRetrieveDynamicRequest">
<soap:header message="tns:HvBaseRetrieveDynamicRequest_Headers" part="hvAppSessionId" use="literal" />
<soap:header message="tns:HvBaseRetrieveDynamicRequest_Headers" part="hvAuthenticationToken" use="literal" />
<soap:header message="tns:HvBaseRetrieveDynamicRequest_Headers" part="hvCallerApplication" use="literal" />
<soap:header message="tns:HvBaseRetrieveDynamicRequest_Headers" part="hvUserId" use="literal" />
<soap:body use="literal" />
</wsdl:input>
<wsdl:output name="EchoResponse">
<soap:header message="tns:EchoResponse_Headers" part="ReturnInfoList" use="literal" />
<soap:header message="tns:EchoResponse_Headers" part="returnStatus" use="literal" />
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="UpdateDynamic">
<soap:operation soapAction="http://test/hvcontracts/echo/IEcho/UpdateDynamic" style="document" />
<wsdl:input name="HvBaseUpdateDynamicRequest">
<soap:header message="tns:HvBaseUpdateDynamicRequest_Headers" part="hvAppSessionId" use="literal" />
<soap:header message="tns:HvBaseUpdateDynamicRequest_Headers" part="hvAuthenticationToken" use="literal" />
<soap:header message="tns:HvBaseUpdateDynamicRequest_Headers" part="hvCallerApplication" use="literal" />
<soap:header message="tns:HvBaseUpdateDynamicRequest_Headers" part="hvUserId" use="literal" />
<soap:body use="literal" />
</wsdl:input>
<wsdl:output name="EchoResponse">
<soap:header message="tns:EchoResponse_Headers" part="ReturnInfoList" use="literal" />
<soap:header message="tns:EchoResponse_Headers" part="returnStatus" use="literal" />
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetMetrics">
<soap:operation soapAction="http://test/hvcontracts/echo/IEcho/GetMetrics" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output name="GetMetricsResponse">
<soap:header message="tns:GetMetricsResponse_Headers" part="ReturnInfoList" use="literal" />
<soap:header message="tns:GetMetricsResponse_Headers" part="returnStatus" use="literal" />
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="AppServer">
<wsdl:port name="DefaultBinding_IEcho" binding="tns:DefaultBinding_IEcho">
<soap:address location="http://poc.appserver/HvAppServer" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>