version 1.10, 2009/08/05 15:04:30
|
version 1.11, 2009/11/30 16:49:50
|
|
|
response->getQueueId(), | response->getQueueId(), |
response->getHttpMethod(), | response->getHttpMethod(), |
response->getHttpCloseConnect(), | response->getHttpCloseConnect(), |
|
response->getOmitXMLProcessingInstruction(), |
fault); | fault); |
| |
SoapResponse soapResponse(&faultResponse); | SoapResponse soapResponse(&faultResponse); |
|
|
response->getQueueId(), | response->getQueueId(), |
response->getHttpMethod(), | response->getHttpMethod(), |
response->getHttpCloseConnect(), | response->getHttpCloseConnect(), |
|
response->getOmitXMLProcessingInstruction(), |
fault); | fault); |
| |
return new SoapResponse(&faultResponse); | return new SoapResponse(&faultResponse); |
|
|
_encodeSoapFaultResponse((SoapFaultResponse*) response); | _encodeSoapFaultResponse((SoapFaultResponse*) response); |
break; | break; |
| |
|
case WS_INVOKE: |
|
_encodeWsInvokeResponse((WsInvokeResponse*)response); |
|
break; |
|
|
case WS_ENUMERATION_ENUMERATE: | case WS_ENUMERATION_ENUMERATE: |
case WS_ENUMERATION_PULL: | case WS_ENUMERATION_PULL: |
// These cases are handled specially to allow for the message | // These cases are handled specially to allow for the message |
|
|
{ | { |
SoapResponse soapResponse(response); | SoapResponse soapResponse(response); |
Buffer body; | Buffer body; |
WsmWriter::appendInstanceElement(body, response->getInstance()); |
WsmWriter::appendInstanceElement(body, response->getResourceUri(), |
|
response->getInstance(), PEGASUS_INSTANCE_NS, false); |
if (soapResponse.appendBodyContent(body)) | if (soapResponse.appendBodyContent(body)) |
{ | { |
_sendResponse(&soapResponse); | _sendResponse(&soapResponse); |
|
|
response->getEnumerationContext(), | response->getEnumerationContext(), |
response->isComplete(), | response->isComplete(), |
response->getEnumerationData(), | response->getEnumerationData(), |
numDataItemsEncoded)) |
numDataItemsEncoded, |
|
response->getResourceUri())) |
{ | { |
soapResponse.reset(_buildEncodingLimitFault(response)); | soapResponse.reset(_buildEncodingLimitFault(response)); |
} | } |
|
|
response->getEnumerationContext(), | response->getEnumerationContext(), |
response->isComplete(), | response->isComplete(), |
response->getEnumerationData(), | response->getEnumerationData(), |
numDataItemsEncoded)) |
numDataItemsEncoded, |
|
response->getResourceUri())) |
{ | { |
soapResponse.reset(_buildEncodingLimitFault(response)); | soapResponse.reset(_buildEncodingLimitFault(response)); |
} | } |
|
|
Uint64 contextId, | Uint64 contextId, |
Boolean isComplete, | Boolean isComplete, |
WsenEnumerationData& data, | WsenEnumerationData& data, |
Uint32& numDataItemsEncoded) |
Uint32& numDataItemsEncoded, |
|
const String& resourceUri) |
{ | { |
Buffer bodyHeader, bodyTrailer; | Buffer bodyHeader, bodyTrailer; |
| |
|
|
} | } |
| |
// Now add the list of items | // Now add the list of items |
Uint32 i; |
Uint32 i = 0; |
| |
if (data.enumerationMode == WSEN_EM_OBJECT) | if (data.enumerationMode == WSEN_EM_OBJECT) |
{ | { |
|
|
data.classUri).getString()); | data.classUri).getString()); |
} | } |
| |
WsmWriter::appendInstanceElement(body, data.instances[i]); |
WsmWriter::appendInstanceElement(body, resourceUri, |
|
data.instances[i], PEGASUS_INSTANCE_NS, false); |
|
|
if (!soapResponse.appendBodyContent(body)) | if (!soapResponse.appendBodyContent(body)) |
{ | { |
break; | break; |
|
|
data.classUri).getString()); | data.classUri).getString()); |
} | } |
| |
WsmWriter::appendInstanceElement(body, data.instances[i]); |
WsmWriter::appendInstanceElement(body, resourceUri, |
|
data.instances[i], PEGASUS_INSTANCE_NS, false); |
| |
WsmWriter::appendStartTag( | WsmWriter::appendStartTag( |
body, | body, |
|
|
_sendResponse(&soapResponse); | _sendResponse(&soapResponse); |
} | } |
| |
|
void WsmResponseEncoder::_encodeWsInvokeResponse( |
|
WsInvokeResponse* response) |
|
{ |
|
SoapResponse* soapResponse = new SoapResponse(response); |
|
|
|
Buffer body; |
|
WsmWriter::appendInvokeOutputElement( |
|
body, |
|
response->resourceUri, |
|
response->className, |
|
response->methodName, |
|
response->instance, |
|
PEGASUS_INVOKE_NS); |
|
|
|
if (soapResponse->appendBodyContent(body)) |
|
{ |
|
_sendResponse(soapResponse); |
|
} |
|
else |
|
{ |
|
delete soapResponse; |
|
_sendUnreportableSuccess(response); |
|
} |
|
} |
|
|
PEGASUS_NAMESPACE_END | PEGASUS_NAMESPACE_END |