Pass soapMessage to end point service from Provider request handler service.

Hi,

Can anybody please let me know how to pass the soapMessage extracted from messageContext in Provider request handler service to IS service that represents the operation in the provider?

Thanks,
Varun.

webMethods IS 8.2

You mean want to extract SOAP data content from soapRequestData Inbound handler?

Hi rmg,

I have created a provider out of wsdl.
It has created a IS flow Flow1 for one operation.
I have created another flow Flow2 with pub.soap.handler:handlerSpec specification.
Registered Flow2 as Provider Request Handler using pub.soap.handler:registerWmProvider.
Added this handler to the provider.

Flow2 contains :
pub.soap.handler:getSOAPMessage - Input : messageContext and Output : SOAPMessage

pub.soap.handler:getServicePipeline

I was expecting SOAPMessage to be available in Flow1.But it was not.
Am I missing any thing.

Thanks,
Varun.

webMethods IS 8.2

IS the Flow1 service gets executed did you see it in the service usage?

Based on the above your Flow2 should have the soapMessage in the pipeline out?

Hi rmg,

I have put pub.flow:savePipelineToFile in both Flow1 and Flow2.And I am sure that both the services are executed.
I see ‘servicePipeline’ document which is the output of ‘pub.soap.handler:getServicePipeline’ in the Flow2’s pipeline.But servicePipeline document is empty there.
I don’t see the same document in Flow1’s pipeline at all.

Thanks,
Varun.

Hi rmg,

Here I am pasting the usae of getServicePipeline from Built-in services guide :

pub.soap.handler:getServicePipeline
WmPublic. Gets the service pipeline from a given message context.
Input Parameters
Output Parameters
messageContext Object Message context from which to get the service pipeline.
A message context contains properties for the SOAP message
and provides access to the SOAP message. Integration Server
creates the message context and passes it to the header handler.
All handlers invoked by a given instance of a SOAP request or
SOAP response use the same message context, which enables
you to use the message context to pass information among
handlers.
servicePipeline Document Document (IData) containing the service pipeline.
The contents of servicePipeline depend on whether the
pub.soap.handler:getServicePipeline service executes as part of a
consumer handler chain or a provider handler chain and which
type of handler service (request, response, or fault) executes the
service.
For this consumer
handler service… servicePipeline contains…
Request handler
service
Contents of the web service connector
pipeline after any pipeline mapping or
manipulation occurs during execution of
the Web service connector but just before
Integration Server sends the SOAP
request.
Response handler
service
The pipeline that becomes the web service
connector output pipeline. At this point,
the pipeline does not contain data from
SOAP response. Integration Server adds
the data form the SOAP response after
handler processing completes.
Fault handler
service
The contents of the web service connector
output pipeline. At this point, the pipeline
does not contain data from the SOAP
fault. Integration Server adds the data
form the SOAP fault after handler
processing completes.
webMethods Integration Server Built-In Services Reference Version 8.2 621
29 SOAP Folder
Usage Notes
Use this service to give handler services access to the contents of the pipeline. THe
handler service can then pass pipeline contents to another service. For example, during
execution of a handler service for a provider Web service descriptor, you can use the
pub.soap.handler:getServicePipeline service to:
 Pass pipeline data from the request handler service to the endpoint service.
 Pass pipeline data from the endpoint service to the response handler service or fault
handler service.
During execution of a handler service for a consumer Web service descriptor, you can use
the pub.soap.handler:getServicePipeline service to:
 Pass pipeline data from the Web service connector input to the request handler
service.
 Pass pipeline data from the response handler service or fault handler service to the
Web service connector output
Use the pub.soap.handler:getServicePipeline service to access the pipeline instead of using the
pub.soap.handler:getProperty service to access the servicePipeline property.

Thanks,
Varun.

Hi Varun,
If you got the solution, can you tell me how to get headerMessage in endpoint service?

Thanks
Dathu

Hi Varun\ Sagar,

Your issue got resolved?

IF it is resolved, Can you please explain solution? I am also facing the same issue.

Thanks…