2 Replies Latest reply: Apr 12, 2012 5:31 AM by oddgeirg RSS

    Handling SOAP-Faults


      We use Siebel 8.1 with IIS 7.0
      Im trying to call a web service in Siebel from Oracle Fusion. When the call is successful i recieve a HTTP response 200 with content-type: text/xml and everything works allright. However, when the call results in a SOAP-Fault for some reason the response has content-type: text/html. Fusion then reports wrong content-type and throws a remoteFault. Therefore i never get access to the original SOAP-Fault. Is there any way to make Siebel send the fault as content-type: text/xml?

      Sample normal response:

      HTTP/1.1 200 OK
      Cache-Control: no-cache, must-revalidate, max-age=0
      Pragma: no-cache
      Content-Length: 1395
      Content-Type: text/xml;charset=UTF-8
      Server: Microsoft-IIS/7.0
      _charset: UTF-8
      Date: Thu, 12 Apr 2012 07:19:14 GMT

      <?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

      Sample errer response:

      HTTP/1.1 500 Internal Server Error
      Content-Type: text/html
      Server: Microsoft-IIS/7.0
      Date: Thu, 12 Apr 2012 07:19:05 GMT
      Connection: close

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml">
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
      <title>500 - Internal server error.</title>
      <style type="text/css">
      body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
      fieldset{padding:0 15px 10px 15px;}
      h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
      #header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
      #content{margin:0 0 0 2%;position:relative;}
      <div id="header">Server Error</div>
      <div id="content">
      <div class="content-container"><fieldset>
      500 - Internal server error.
      There is a problem with the resource you are looking for, and it cannot be displayed.

      <?xml version="1.0" encoding="utf-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

      Kind Regards
      Oddgeir Gitlestad
        • 1. Re: Handling SOAP-Faults
          I'm not sure if this can be done, but on the other hand, how helpful is it when you see:

          "500 - Internal server error.
          There is a problem with the resource you are looking for, and it cannot be displayed."

          I'm not sure if you can push the Siebel error into the message, but I always look in the log directory of Siebel when I'm testing Siebel web services.
          • 2. Re: Handling SOAP-Faults
            I agree that it wouldn't be useful to recieve 500 Internal Server Error. However after the html part of the response there is the original SOAP-Fault in xml. What I'm guessing is that the html stuff is added by IIS. Is it possible to prevent IIS from adding this and changing the content-type?