Responding with a complex type that is shared

I was wondering if it is possible to map Common Natural Parameters to a separate shared service?

Best way to describe is is to provide an example of what I am trying to achieve:

Say we have a PDA defined… in this case…

WS-MSGA1
1 #MSG /* OUT
2 #MSG-TYP (A1)
2 #MSG-CNT (I2)
2 #MSG-ARR (A/*) DYNAMIC

Now, in two separate subprograms we have this PDA mapped:

WS-01
DEFINE DATA
PARAMETER USING WS-MSGA1 /* OUT Err Msg used between Natural WS Programs

With respective xmm mapping (for WS01):
WS-01.#MSG - WS01Response/_MSG
WS-01.#MSG-TYP - WS01Response/_MSG/_MSG-TYP
WS-01.#MSG-CNT - WS01Response/_MSG/_MSG-CNT
WS-01.#MSG-ARR() -WS01Response/_MSG/_MSG-ARR

WS-02
DEFINE DATA
PARAMETER USING WS-MSGA1 /* OUT Err Msg used between Natural WS Programs

With respective xmm mapping (for WS02):
WS-02.#MSG - WS02Response/_MSG
WS-02.#MSG-TYP - WS02Response/_MSG/_MSG-TYP
WS-02.#MSG-CNT - WS02Response/_MSG/_MSG-CNT
WS-02.#MSG-ARR() -WS02Response/_MSG/_MSG-ARR

Is there a way, to save duplication of the output from Natural Webservice and allow the calling code to call the exact same error handler (in this case…) to MAP the responses of the Natural Subprograms to the same output response?

With respective xmm mapping (for WS01 and 02):
WS-01.#MSG / WS-02.#MSG = WSERRResponse/_MSG
WS-01.#MSG-TYP / WS-02.#MSG-TYP = WSERRResponse/_MSG/_MSG-TYP
WS-01.#MSG-CNT / WS-02.#MSG-CNT = WSERRResponse/_MSG/_MSG-CNT
WS-01.#MSG-ARR() / WS-02.#MSG-ARR() = WSERRResponse/_MSG/_MSG-ARR*

Thank you as always!

In summary… I just want a common way in which multiple web services from Natural can respond in a common way separate from other responses… (was reading about the Map Fault to IDL Parameter… could this be a potential solution on something coming from Natural?)

I am not sure I understand the question correctly, but if you want the error response from two different web services to call the same process, you could make the error response be a new service call rather than be the synchronous response to the initiating application that called you. All you would need is for the system tracking errors to publish a WSDL for you so you could invoke it with a service call through an XML RPC Server.