cancel
Showing results for 
Search instead for 
Did you mean: 

WebService security Unallowed RFC-XML Tag (SOAP_EINVALDOC)

Former Member
0 Kudos
108

Hi gurus,

I tried to setup webservice security on a NW2004 to send secure messages via https, webservice sercurity and soa. I managed it so far, that I can use https.

But when testing the connection (runtime workbench -> component monitoring -> integration engine -> webservice security available) I get an error

 Unallowed RFC-XML Tag (SOAP_EINVALDOC) 

.

Can anybody explain this error?

The logs (dev_rfcX) shows the following..


XRFC> INFO 15:35:57: SOAP SESSION Protocol CL_SOAP_SESSION_PROTOCOL       <
XRFC> ->IF_SOAP_PROTOCOL~PRE_PROCESS() Try to preprocess protocol SOAP    <
XRFC> Session Protocol ( Mode= ,Method= )                                 <
XRFC>                                                                     <
XRFC> INFO 15:35:57: SOAP SESSION Protocol CL_SOAP_SESSION_PROTOCOL       <
XRFC> ->IF_SOAP_PROTOCOL~PRE_PROCESS() SOAP Session Protocol              <
XRFC> preprocessed                                                        <
XRFC>                                                                     <
XRFC> INFO 15:35:57: SOAP Transport Binding CL_SOAP_HTTP_TPBND_ROOT       <
XRFC> ->IF_SOAP_TRANSPORT_BINDING~SEND() Try to send message ( DEST =     <
XRFC> WS_PROXY ,PATH = ,URL = ,SOAP Action = )                            <
XRFC>                                                                     <
XRFC> INFO 15:35:57: SOAP Transport Binding CL_SOAP_HTTP_TPBND_ROOT       <
XRFC> ->IF_SOAP_TRANSPORT_BINDING~SEND() Message sent                     <
XRFC>                                                                     <
XRFC> INFO 15:35:57: SOAP Transport binding CL_SOAP_HTTP_TPBND_ROOT       <
XRFC> ->IF_SOAP_TRANSPORT_BINDING~RECEIVE() Try to receive message        <
XRFC>                                                                     <
XRFC> ERROR 15:35:57: SOAP HTTP Binding CL_SOAP_HTTP_TPBND_ROOT->HANDLE   <
XRFC> _STATUS_CODE() Received return code 401 ( Unauthorized )            <
XRFC>                                                                     <
XRFC> ERROR 15:35:57: 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 ).                            <
XRFC>                                                                     <

I did not create any webservice security service the services are as out of the box. Do I have to create a service? If yes, could you please tell me how and what is nessesary?

Thank you for you help.

Best regards

Christian

Accepted Solutions (1)

Accepted Solutions (1)

stefan_grube
Active Contributor
0 Kudos

I think the mentioned error is caused by the 401 response.

Check your certificates which you use for the HTTPS connection.

Regards

Stefan

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi all,

here some new information ...

I switched the prefix for the RFC Connection WS_PROXY from /wssproc/cert?style=document to /wssproc/ssl?style=document and the security option from "no login" to "basic authentification" placing user und password in there ... Still activated is: send SAP-logonticket and ssl active (Default SSL-client(default)) -> now the RWB shows a green light for webservice security.

Can anybody explain how I can use the options /wssproc/cert?style=document and "no login"?

Thank you for your help.

Christian

Former Member
0 Kudos

Hello Stefan,

could you describe which certificatesI have to check?

As I know they are working fine:

I can log on to the server using https, when I try the WS_PROXY (path /wssproc/cert?style=document) connection in SM59 I get a "Please wait while loading".

When I try to connect directly to the /wssproc/cert?style=document path with a browser I get the wssproc overview page :


WSDL:
https://<server>:<port>/wssproc/plain?wsdl&style=document
Description:

Description not specified
UDDI Publications:

Service is not published
Features:
...
 

So, how could I test the certificate from java to abap?

Note 919886 - Error message "SOAP:111 Unallowed RFC-XML Tag" did not help me ...

Here the rest of the RFC trace...


**** Trace file opened at 20080905 084632 CEST SAP-REL 640,0,109 RFC-VER 3 804778
XRFC> Error in module XMLParserGetNextElement:773
XRFC>    Id @(#) $Id: //bas/640_REL/src/krn/rfc/xrfcpars.c#1 $   SAP
XRFC> Unallowed RFC-XML Tag
XRFC> Error in module XMLConverterReadTag:3051
XRFC>    Id @(#) $Id: //bas/640_REL/src/krn/rfc/xrfccnvrt.c#2 $ SAP
XRFC> Unallowed RFC-XML Tag(24)
XRFC> Error in module ab_soap:4392
XRFC>    Id @(#) $Id: //bas/640_REL/src/krn/rfc/abxrfccal.c#1 $ SAP
XRFC> failed with return code 1
XRFC> Begin of user trace
XRFC>
XRFC>                                                                     <
XRFC> TRACE SOAP RUNTIME                                                  <
XRFC>                                                                     <
XRFC>                                                                     <
XRFC>                                                                     <
XRFC> SAP System ID: MXD                                                  <
XRFC> Client: 101                                                         <
XRFC> User: XIRWBUSER                                                     <
XRFC> System time: 084632                                                 <
XRFC> System date: 20080905                                               <
XRFC> SAP Release: 640                                                    <
XRFC> Host: <server>                                                   <
XRFC> Operating system: Linux                                             <
XRFC> DB System: ADABAS D                                                 <
XRFC> Program: SAPMSSY1                                                   <
XRFC> Processing State: 0                                                 <
XRFC> Location: Client                                                    <
XRFC> Transport Binding: <a href="http://schemas.xmlsoap.org/soap/http" TARGET="test_blank">http://schemas.xmlsoap.org/soap/http</a>             <
XRFC> SOAP Application: urn:sap-com:soap:runtime:application:client       <
XRFC> SOAP Runtime Protocol: <a href="http://www.sap.com/webas/630/soap" TARGET="test_blank">http://www.sap.com/webas/630/soap</a>            <
XRFC>  /runtime/protocol                                                  <
XRFC> SOAP Protocols: 2                                                   <
XRFC> Protocol Name: 2                                                    <
XRFC> Protocol Name: 2                                                    <
XRFC> Request Message: <bound>                                            <
XRFC> Response Message: <bound>                                           <
XRFC> Fault: <initial>                                                    <
XRFC> Registry: <bound>                                                   <
XRFC> Role: <a href="http://www.sap.com/webas/630/soap/role/initialSender" TARGET="test_blank">http://www.sap.com/webas/630/soap/role/initialSender</a>          <
XRFC> Trace Level: 1                                                      <
XRFC> Logging Level: 1                                                    <
XRFC> Monitoring Level: 0                                                 <
XRFC> Security Profile: <initial>                                         <
XRFC> WS Security Protocol: <initial>                                     <
XRFC>                                                                     <
XRFC>                                                                     <
XRFC>                                                                     <
XRFC>                                                                     <
XRFC> INFO 08:46:32: SOAP SESSION Protocol CL_SOAP_SESSION_PROTOCOL       <
XRFC> ->IF_SOAP_PROTOCOL~PRE_PROCESS() Try to preprocess protocol SOAP    <
XRFC> Session Protocol ( Mode= ,Method= )                                 <
XRFC>                                                                     <
XRFC> INFO 08:46:32: SOAP SESSION Protocol CL_SOAP_SESSION_PROTOCOL       <
XRFC> ->IF_SOAP_PROTOCOL~PRE_PROCESS() SOAP Session Protocol              <
XRFC> preprocessed                                                        <
XRFC>                                                                     <
XRFC> INFO 08:46:32: SOAP Transport Binding CL_SOAP_HTTP_TPBND_ROOT       <
XRFC> ->IF_SOAP_TRANSPORT_BINDING~SEND() Try to send message ( DEST =     <
XRFC> WS_PROXY ,PATH = ,URL = ,SOAP Action = )                            <
XRFC>                                                                     <
XRFC> INFO 08:46:32: SOAP Transport Binding CL_SOAP_HTTP_TPBND_ROOT       <
XRFC> ->IF_SOAP_TRANSPORT_BINDING~SEND() Message sent                     <
XRFC>                                                                     <
XRFC> INFO 08:46:32: SOAP Transport binding CL_SOAP_HTTP_TPBND_ROOT       <
XRFC> ->IF_SOAP_TRANSPORT_BINDING~RECEIVE() Try to receive message        <
XRFC>                                                                     <
XRFC> ERROR 08:46:32: SOAP HTTP Binding CL_SOAP_HTTP_TPBND_ROOT->HANDLE   <
XRFC> _STATUS_CODE() Received return code 401 ( Unauthorized )            <
XRFC>                                                                     <
XRFC> ERROR 08:46:32: 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 ).                            <
XRFC>                                                                     <

The user XIRWBUSER has got SAP_ALL, SAP_NEW, SAP_J2EE_ADMIN, SAP_SLD_CONFIGURATOR and SAP_XI_RWB_SERV_USER.

Thanks for you help

Christian