I have the following scenario (WSDL, message) for Axis C++ client WSDL, defines the service with a method "evaluate"
<?xml version="1.0" encoding="utf-16"?> <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pds="http://pdservice.services.aps.some.com/" xmlns:xsd1="http://aps.some.com/to/context" name="PolicyDecisionService" targetNamespace="http://pdservice.services.aps.some.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> <wsdl:types> <xsd:schema> <xsd:import schemaLocation="cs-xacml-schema-context-01.xsd" namespace="http://aps.some.com/to/context" /> </xsd:schema> </wsdl:types> <wsdl:message name="EvaluationRequest"> <wsdl:part name="request" element="xsd1:Request" /> </wsdl:message> <wsdl:message name="EvaluationResponse"> <wsdl:part name="response" element="xsd1:Response" /> </wsdl:message> <wsdl:portType name="PolicyDecison"> <wsdl:operation name="evaluate"> <wsdl:input message="pds:EvaluationRequest" /> <wsdl:output message="pds:EvaluationResponse" /> </wsdl:operation> </wsdl:portType> <wsdl:binding name="PolicyDecisionSOAP" type="pds:PolicyDecison"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="evaluate"> <soap:operation soapAction="http://pdservice.services.aps.some.com/PolicyDecisionService/evaluate" /> <wsdl:input> <soap:body use="literal" /> </wsdl:input> <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="PolicyDecisionService"> <wsdl:port name="PolicyDecision" binding="pds:PolicyDecisionSOAP"> <soap:address location="http://wwwdev.apspdp.some.com:80/ApsPdpEARWeb/services/PolicyDecision" /> </wsdl:port> </wsdl:service> </wsdl:definitions> Message to be sent <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <Request xmlns="http://aps.some.com/to/context"> <Subject SubjectCategory="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" xmlns=""> <Attribute AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id" DataType="urn:oasis:names:tc:xacml:1.0:data-type:rfc822Name" xmlns=""> <AttributeValue xmlns="">[EMAIL PROTECTED]</AttributeValue> </Attribute> <Attribute AttributeId="attribute" DataType="http://www.w3.org/2001/XMLSchema#string" xmlns=""> <AttributeValue xmlns="">attribute</AttributeValue> </Attribute> </Subject> <Resource xmlns=""> <Attribute AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" DataType="http://www.w3.org/2001/XMLSchema#anyURI" xmlns=""> <AttributeValue xmlns="">APSUI:DefinePolicy</AttributeValue> </Attribute> <Attribute AttributeId="urn:oasis:names:tc:xacml:1.0:resource:scope" DataType="http://www.w3.org/2001/XMLSchema#string" xmlns=""> <AttributeValue xmlns="">Immediate</AttributeValue> </Attribute> </Resource> <Action xmlns=""> <Attribute AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" DataType="http://www.w3.org/2001/XMLSchema#string" xmlns=""> <AttributeValue xmlns="">update</AttributeValue> </Attribute> </Action> </Request> </soapenv:Body> </soapenv:Envelope> and message itself have no "info" about method "evaluate" i use .Net Web service Studio 2.0 for test message flow - message goes out and comes in - the service recognizes the message and responces as expected. in the my Axis C++ scenario i have pre-seialized object to <Request> ... </Request>. i have a problem to make it work (send a message) by use of Call class m_pCall = new Call (); m_pCall->setEndpointURI ("http://wwwdev.apspdp.some.com/ApsPdpEARWeb/services/PolicyDecision/"); m_pCall->setTransportProperty (SOAPACTION_HEADER, "PolicyDecision#evaluate"); m_pCall->setSOAPVersion (SOAP_VER_1_1); (1) m_pCall->setOperation ("evaluate", "http://wwwdev.apspdp.some.com/ApsPdpEARWeb/services/PolicyDecision/"); AnyType* pAny = new AnyType(); AnyType* any; pAny->_size = 1; pAny->_array = new char*[1]; pAny->_array[0] = strdup(request.c_str()); // "request" keeps serialized object <Request> ....</Request> m_pCall->addAnyObject(pAny); if ( AXIS_SUCCESS == m_pCall->invoke () ) .... it throws exception, the trace: 01/09/2006 16:37:49:943 Eastern Daylight Time] 3240 HTTPChannel > operator<< @00338670,------------> [01/09/2006 16:37:49:943 Eastern Daylight Time] 3240 - I "POST /ApsPdpEARWeb/services/PolicyDecision/ HTTP/1.1 [01/09/2006 16:37:49:943 Eastern Daylight Time] 3240 - I Host: wwwdev.apspdp.some.com:80 [01/09/2006 16:37:49:943 Eastern Daylight Time] 3240 - I Content-Type: text/xml; charset=UTF-8 [01/09/2006 16:37:49:943 Eastern Daylight Time] 3240 - I SOAPAction: "PolicyDecision#evaluate" [01/09/2006 16:37:49:943 Eastern Daylight Time] 3240 - I Content-Length: nnnn [01/09/2006 16:37:49:943 Eastern Daylight Time] 3240 - I [01/09/2006 16:37:49:943 Eastern Daylight Time] 3240 - I " [01/09/2006 16:37:49:943 Eastern Daylight Time] 3240 HTTPChannel < operator<< @00338670,[60613A00] <`a:.> [01/09/2006 16:37:49:943 Eastern Daylight Time] 3240 HTTPChannel > operator<< @00338670,------------> [01/09/2006 16:37:49:943 Eastern Daylight Time] 3240 - I "<?xml version='1.0' encoding='utf-8' ?> [01/09/2006 16:37:49:943 Eastern Daylight Time] 3240 - I <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> [01/09/2006 16:37:49:943 Eastern Daylight Time] 3240 - I <SOAP-ENV:Body> [01/09/2006 16:37:49:943 Eastern Daylight Time] 3240 - I <ns1:evaluate xmlns:ns1="http://wwwdev.apspdp.some.com/ApsPdpEARWeb/services/PolicyDecision/"> [01/09/2006 16:37:49:943 Eastern Daylight Time] 3240 - I <Request xmlns="http://aps.some.com/to/context"><Subject SubjectCategory="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" xmlns=""><Attribute AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id" DataType="urn:oasis:names:tc:xacml:1.0:data-type:rfc822Name" xmlns=""><AttributeValue xmlns="">[EMAIL PROTECTED]</AttributeValue></Attribute><Attribute AttributeId="attribute" DataType="http://www.w3.org/2001/XMLSchema#string" xmlns=""><AttributeValue xmlns="">attribute</AttributeValue></Attribute></Subject><Resource xmlns=""><Attribute AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" DataType="http://www.w3.org/2001/XMLSchema#anyURI" xmlns=""><AttributeValue xmlns="">APSUI:DefinePolicy</AttributeValue></Attribute><Attribute AttributeId="urn:oasis:names:tc:xacml:1.0:resource:scope" DataType="http://www.w3.org/2001/XMLSchema#string" xmlns=""><AttributeValue xmlns="">Immediate</AttributeValue></Attribute></Resource><Action xmlns=""><Attribute AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" DataType="http://www.w3.org/2001/XMLSchema#string" xmlns=""><AttributeValue xmlns="">update</AttributeValue></Attribute></Action></Request></ns1:evaluate> [01/09/2006 16:37:49:943 Eastern Daylight Time] 3240 - I </SOAP-ENV:Body> [01/09/2006 16:37:49:943 Eastern Daylight Time] 3240 - I </SOAP-ENV:Envelope> ................................. [01/09/2006 16:37:49:953 Eastern Daylight Time] 3240 - I 51, " [01/09/2006 16:37:49:953 Eastern Daylight Time] 3240 - I Server sent HTTP error: 'Not Found' [01/09/2006 16:37:49:953 Eastern Daylight Time] 3240 - I " [01/09/2006 16:37:49:953 Eastern Daylight Time] 3240 HTTPTransportException > getMessageForExceptionCode @0012F590,51 [01/09/2006 16:37:49:953 Eastern Daylight Time] 3240 HTTPTransportException < getMessageForExceptionCode @0012F590,"HTTPTransportException:HTTP transport error" [01/09/2006 16:37:49:953 Eastern Daylight Time] 3240 HTTPTransportException > getMessageForExceptionCode @0012F590,51 [01/09/2006 16:37:49:953 Eastern Daylight Time] 3240 HTTPTransportException < getMessageForExceptionCode @0012F590,"HTTPTransportException:HTTP transport error" [01/09/2006 16:37:49:953 Eastern Daylight Time] 3240 HTTPTransportException < HTTPTransportException @0012F590 [01/09/2006 16:37:49:953 Eastern Daylight Time] 3240 ClientAxisEngine X process @00570090,------------> [01/09/2006 16:37:49:953 Eastern Daylight Time] 3240 - I caught AxisException(3, "HTTPTransportException:HTTP transport error [01/09/2006 16:37:49:953 Eastern Daylight Time] 3240 - I Server sent HTTP error: 'Not Found' [01/09/2006 16:37:49:953 Eastern Daylight Time] 3240 - I ") [01/09/2006 16:37:49:953 Eastern Daylight Time] 3240 AxisGenException > AxisGenException @0012F99C,------------> [01/09/2006 16:37:49:953 Eastern Daylight Time] 3240 - I 51, "HTTPTransportException:HTTP transport error [01/09/2006 16:37:49:953 Eastern Daylight Time] 3240 - I Server sent HTTP error: 'Not Found' [01/09/2006 16:37:49:953 Eastern Daylight Time] 3240 - I " looks like <ns1:evaluate xmlns:ns1="http://wwwdev.apspdp.some.com/ApsPdpEARWeb/services/PolicyDecision/"> </ns1:evaluate> that inserted by engine breakes message structure. When the call (1) m_pCall->setOperation is ommited the body has not even created. What is wrong? Is the call m_pCall->setOperation(...) mandatory? What is the proper way to use m_pCall->invoke() in the scenario (WSDL, message) above? If m_pCall->invoke() is not applicable, what is the best way for this case (WSDL, message) Please Help Regards, -- View this message in context: http://www.nabble.com/Axis-C%2B%2B-client%2C-Call-%3Einvoke-tf2204816.html#a6106167 Sent from the Axis - C++ - User forum at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
