cancel
Showing results for 
Search instead for 
Did you mean: 

Unallowed RFC-XML Tag (SOAP_EINVALDOC) - where can we detailed trace

former_member188019
Active Participant
0 Kudos

Hi All

I want to invoke/consume external webservice from SAP ABAP system.

I downloaded CurrencyConvertor.wsdl from http://www.webservicex.net/CurrencyConvertor.asmx?WSDL

I created a proxy object ZWSCO_CURRENCY_CONVERTOR_SOAP (using tcode SE80->Enterprise Serivces->Proxy Object Create) by specifiying the downloaded CurrencyConvertor.wsdl as the WSDL source.

the proxy object, corresponding data type objects are created successfully, and they got activated properly.

I specified our internet proxy settings in transaction SICF -> F8 -> Menu Goto Proxy Settings -> ticked "Proxy settings active", provided the proxy server and port.

I checked with Basis team, and they confirmed the proxy is correct.

When i tried to execute the client, i got the error in Outbound processing.


 <CX_AI_SYSTEM_FAULT>
  <CODECONTEXT><a href="http://www.sap.com/xml_errorcodes" TARGET="test_blank">http://www.sap.com/xml_errorcodes</a></CODECONTEXT> 
  <CODE>SOAP:111</CODE> 
  <ERRORTEXT>Unallowed RFC-XML Tag (SOAP_EINVALDOC)</ERRORTEXT> 
  <LANGUAGE /> 
  </CX_AI_SYSTEM_FAULT>

What could be the possible cause.

I searched on sdn, but seems error Unallowed RFC-XML Tag (SOAP_EINVALDOC) occurs due to many reasons.

Where could i see detailed log/trace of this,

I checked SICF display trace, and SMICM display trace, but they donot show any logs/errors related to this.

thanks in advance.

Madhu_1980

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Madhu,

What ECC version are you on? The most likely cause in the incorrect configuration of your logical port.

You can also go through the following SAP notes & see if they relate to you while troubleshooting:

- 919886

- 1153106

- 937800 &

- 1073313

The reason why I asked what version of ECC you're on is that this could also be related to MTOM configuration either on your side or on the provider side.

Regards, Trevor

Former Member
0 Kudos

Hi,

Did you created Logical Port in SOAMANAGER? create it manually and provide

Computer host: http://www.webservicex.net

and URL = /CurrencyConvertor.asmx

In operation give correct SOAP operation "http://www.webserviceX.NET/ConversionRate" , it should work, I developed this scenario long before.

Regards,

Gourav

former_member188019
Active Participant
0 Kudos

>@Gourav Khare

>>Did you created Logical Port in SOAMANAGER?

No, we created the Logical port using the transaction LPCONFIG. For the port we created, the following are the settings we mentioned.

General Settings: Runtime tab-> selected "Web service Infrastructure"

In call parameters tab: url: http://www.webservicex.net/CurrencyConvertor.asmx

Operations tab: Operation->Conversion_Rate-> SoapAction:"http://www.webserviceX.NET/ConversionRate"

>@ Trevor Naidoo

>>What ECC version are you on? The most likely cause in the incorrect configuration of your logical port.

I am trying this on SAP system (SAP Netweaver 2004 - ABAP trial version) installed on my laptop

Component version: SAP Netweaver 2004

SAP_ABA 700

SAP_BASIS 700

PI_BASIS 2005_1_700

SAP_BW 700

When i connect my laptop to direct internet connection (at my home, i uncheck "Proxy settings active" in transaction SICF -> F8 -> Menu Goto Proxy Settings), it works, it invokes the webservice and i can see the webservice response in my sap system.

But when i connect my laptop in my company's network, where we need to use proxy for internet, it is causing this error.

the proxy details, other than in "SICF -> F8 -> Menu Goto Proxy Settings ", is there any other configuration to tell the ICM/ICF to use proxy for connecting to the webservice.

thanks,

Madhu_1980

Former Member
0 Kudos

dev_icm in ST11 maybe?

former_member188019
Active Participant
0 Kudos

thanks Anton Wenzelhuemer , in ST11, the dev_rfc1 log says:


XRFC> INFO 17:16:25: SOAP SESSION Protocol CL_SOAP_SESSION_PROTOCOL       <
XRFC> ->IF_SOAP_PROTOCOL~PRE_PROCESS() SOAP Session Protocol              <
XRFC> preprocessed                                                        <
XRFC>                                                                     <
XRFC> INFO 17:16:25: SOAP Transport Binding CL_SOAP_HTTP_TPBND_ROOT       <
XRFC> ->IF_SOAP_TRANSPORT_BINDING~SEND() Try to send message ( DEST =     <
XRFC> ,PATH = ,URL = <a href="http://www.webservicex.net/CurrencyConvertor.asmx" TARGET="test_blank">http://www.webservicex.net/CurrencyConvertor.asmx</a>    <
XRFC> ,SOAP Action = "http://www.webserviceX.NET/ConversionRate" )        <
XRFC>                                                                     <
XRFC> INFO 17:16:25: SOAP Transport Binding CL_SOAP_HTTP_TPBND_ROOT       <
XRFC> ->IF_SOAP_TRANSPORT_BINDING~SEND() Message sent                     <
XRFC>                                                                     <
XRFC> INFO 17:16:25: SOAP Transport binding CL_SOAP_HTTP_TPBND_ROOT       <
XRFC> ->IF_SOAP_TRANSPORT_BINDING~RECEIVE() Try to receive message        <
XRFC>                                                                     <
XRFC> INFO 17:16:25: SOAP HTTP Binding CL_SOAP_HTTP_TPBND_ROOT->HANDLE    <
XRFC> _STATUS_CODE() Received return code 502 ( Proxy Error ( The ISA     <
XRFC> Server denied the specified Uniform Resource Locator (URL). ) )     <
XRFC>                                                                     <
XRFC> ERROR 17:16:25: SOAP Message CL_SOAP_MESSAGE->IF_SOAP_MESSAGE       <
XRFC> _PART~INIT_FOR_DESERIALIZE() A SOAP Runtime Core Exception          <
XRFC> occurred in method XP_READ_TAG of class CL_SOAP_XP at position id   <
XRFC> 1 with internal error id 111 and error text Unallowed RFC-XML Tag   <
XRFC> (SOAP_EINVALDOC) (fault location is 1 ).                            <

in this log

XRFC> STATUSCODE() Received return code 502 ( Proxy Error ( The ISA <

XRFC> Server denied the specified Uniform Resource Locator (URL). ) ) <

are there any more configuration to enforce/enable internet proxy and port to connect to my specified URL.

Former Member
0 Kudos

hi,

quiet obviously you are already reaching the proxy otherwise you wouldn have received a message from it (502 can only be thrown by a proxy). The proxy also told you that it denied routing your request.

So, either you have configured the wrong proxy (e.g. an iternal traffic only one) then you should use another one or the proxy is configured not to pass your request then you should talk to the proxy admins to solve the problem.

anton

Former Member
0 Kudos

It's like Anton said,

There's nothing more you can do from your side, the proxy administrator's need to give you a proxy that you can work with for web service request & response actions. They have probably disabled that type of communication to better secure the environment but then they need to give you an alternative to work with.

Regards, Trevor