cancel
Showing results for 
Search instead for 
Did you mean: 

SoapFaulCodeName: F410|SoapFaulCodeNamespace error when calling external webservice

Former Member
0 Kudos

Dear Experts,

I have a very urgent issue which needs to be fixed as soon as possible. I am calling an external webservice. Beforehand, the webservice needs a secure connection. So we configured HTTPS and SSL for the System and uploaded the Certificate in TA STRUST.

I have generated a proxy consumer in SE80 and also a logical port via SOAMANAGER.

When now testing the Service call in SM59, everything is fine. The connection test is successful (see below)

When now calling a method from this webservice (either via ABAP Coding or via SE80 --> Test Consumer Proxy) I get the following error: (SoapFaulCodeName: F410|SoapFaulCodeNameSpace: ...)

If any of you have ever faced the same or a  similar issue please let me know. Any helpful answer will be rewarded.

Thanks and best regards,

Patrick

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Patrick,

The first question I have is: have you confirmed that the service provider is fully functional outside of SAP? You can test this through a third-party tool like SoapUI. If you find that the service still doesn't work with SoapUI, then the problem most likely does not lie within SAP.

If the service is fully functional outside of SAP, I'd refer to the error message text. If Google Translate can be trusted to translate that German error message, I believe the message refers you to check the faultDetailString. This leads to another question though: where can this string be located?

The first option I would suggest is to examine the error logs in transaction SRT_UTIL. There's a chance that the details for the error you're experiencing are being logged there and you'll be able to view more information on the error.

The second option I suggest is to examine the exception objects either through the debugger in custom code you've written that uses this proxy or those that are viewable in SE80. You may already be doing this but I wanted to make sure this was covered.

One last suggestion I have is to check the trace in transaction SMICM. This may provide more information as well.

Hopefully one of these suggestions will provide more insight into the error and from there it'll be easier to solve.

Thanks,

Brian

Former Member
0 Kudos

Hi Brian!

Thanks for your outstanding reply!!

That was exactly what I have done today (Check with SoapUI). The problem was that this sounds like a SAP error message, moreover a system exception (or in detail a cx_soap exception) was thrown which was probably the most disturbing thing.

I have also checked SMICM and the trace log contains no errors so I tried, as mentioned before, a call of the method within SoapUI. Here I figured out that there is a compnent (node) in the return structure which is not available in SAP's generated Proxy Class (generated from WSDL) which is called <detail>. In there you can see that this error is produced by the external service system. But the big thing is that the so called "faultDetailstring" is saying that the user (this is basically a login functionality) which is used in the call's request is not authorized for using the webservice.

Again, thank you very much for your inspiration!

Probably - or lets say hopefully - your answer can help others with such problems as well!!

Have a nice day

regards

Patrick

Answers (1)

Answers (1)

0 Kudos

Hi Patrick/Brain,

I am facing a similar issue.  I am getting the same error message " SoapFaulCodeName: Forbidden |SoapFaulCodeNamespace: http://schemas.microsoft.com/2009/WebFault Forbidden".

I am trying to connect to 3rd party tool PC Miler with proxy structure provided by WSDL.

There are two mandatory fields which needs to be passed one of them is REPORT TYPE which is an internal table having two fields Fieldname (char 30 ) and value (char 1).

In PC miler website schema for the report type they are passing like this <v1:report type xsi:type="MileageReportType">.

We tried executing in the SOAPUI, it worked only when we used <v1:report type xsi:type="MileageReportType">.

I would like to know how to pass this for CHAR 1 this value. or how did you solve your issue which was not found in the sap structure?

I am in urgency and I really really appreciate your response.

Thanks,

Laxmi.S

Former Member
0 Kudos

Hi Laxmi,

can you probably provide a test call which you enter in SOAPUI? Probably one that's working?

Regards Patrick

0 Kudos

Hi,

Here is the XML file which passed to SOAP UI and worked.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:alk="http://www.alk.com" xmlns:v1="http://pcmiler.alk.com/APIs/v1.0" xmlns:arr="http://schemas.microsoft.com/2003/10/Serialization/Arrays">

   <soapenv:Header>

      <alk:AuthHeader>

         <alk:Authorization> </alk:Authorization>

      </alk:AuthHeader>

   </soapenv:Header>

   <soapenv:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

      <v1:GetReports xmlns="http://pcmiler.alk.com/APIs/v1.0">

         <!--Optional:-->

         <v1:Request>

            <!--Optional:-->

            <v1:Header>

               <!--Optional:-->

               <v1:DataVersion>current</v1:DataVersion>

               <!--Optional:-->

               <v1:RequestType>GetReports</v1:RequestType>

            </v1:Header>

            <!--Optional:-->

            <v1:Body>

               <!--Optional:-->

               <v1:ReportRoutes>

                  <!--Zero or more repetitions:-->

                  <v1:ReportRoute>

                     <v1:Stops>

                        <!--Zero or more repetitions:-->

                        <v1:StopLocation>

                           <v1:Coords>

                              <!--Optional:-->

                              <v1:Lat>39.942892</v1:Lat>

                              <!--Optional:-->

                              <v1:Lon>-75.173297</v1:Lon>

                           </v1:Coords>

                        </v1:StopLocation>

                        <v1:StopLocation>

                           <v1:Coords>

                              <!--Optional:-->

                                                <v1:Lat>38.942892</v1:Lat>

                              <!--Optional:-->

                              <v1:Lon>-74.173297</v1:Lon>

                           </v1:Coords>

                        </v1:StopLocation>

                     </v1:Stops>

                     <!--Optional:-->

                     <v1:ReportTypes>                   

                                                                 <v1:ReportType xsi:type="MileageReportType" />

                     </v1:ReportTypes>

                  </v1:ReportRoute>

               </v1:ReportRoutes>

            </v1:Body>

         </v1:Request>

      </v1:GetReports>

   </soapenv:Body>

</soapenv:Envelope>

0 Kudos

I have passed the authorizatoin key.

Former Member
0 Kudos

Hi Laxmi,

I think there is probably a issue within the WSDL. Try using Report RSSIDL_DESERIALIZE_DEMO via SE38 and pass the WSDL. Check if there are any inconsitencies.

If not, try testing your Service via SE80 and pass this request in the XML Editor (without the soap tag).

I think that you will get the error there again. Then please ask someone of your SAP Basis team to turn on a sniffer or similar. Then call it again and check the log files.

If you do NOT get the error again there is an error within the proxy class.

Regards Patrick

0 Kudos

Hi Patrick,

You are right. There might be an issue with WSDL only . Fields are missing in the structure generated by the PROXY from WSDL.

Now, I need to know the way to modify either proxy or WSDL to add those fields for the REPORT TYPE .  Can you please help me how to do this?

I have ran the program RSSIDL_DESERIALIZE_DEMO and provided the WSDL with all possiblities like with soap service and with out soap service and every time I am getting an error message below.

Really appreciate your help on this.

Thanks,

Laxmi.Suryadevara




Former Member
0 Kudos

hi Laxmi,

please check the following link:

Troubleshooting guide to create, configure and call Consumer Proxies - ABAP Connectivity - SCN Wiki ...

try if that guide solves your issue. if not please let me know.

reward if helpful,

thank you

regards

Patrick

0 Kudos

Hi Patrick,

Thanks for the quick response.

I have gone through the link.. it has process to create the proxy structure from WSDL which we did..

I would like to know on the changes to the proxy structure .. OR On the WSDL to add the required fields.

Thanks,

Laxmi.Suryadevara

Former Member
0 Kudos

Hi Laxmi,

I would suggest to make the changes within the WSDL and uplaod it to the SAP System again. I checked the description of your error and it seems that there is something wrong with the WSDL header.

Please look at Generation of Consumer Proxy fails - ABAP Connectivity - SCN Wiki

This probably solves your issue,

Regards Patrick