Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Error number from SOAP is always -2147467259

54 views
Skip to first unread message

Laurence Everitt

unread,
Sep 6, 2001, 6:51:15 AM9/6/01
to
Dear All,

I am getting a strange error number:
-2147467259 (hex: 0x80004005)

from my webservice, whenever I return an error through SOAP. I am using
different error numbers
for my error states, to differentiate between different types of error, but
I always get this error
number through SOAP. When not going through SOAP, I get the correct error
number. The
correct error description gets through, however.

I am implementing the ISOAPError interface and using negative numbers for
the errors.

Does anyone know why this is happening? Am I doing something wrong and
generating an
error in SOAP, which is getting back to the client app?

Regards,


Laurence


Laurence Everitt

unread,
Sep 6, 2001, 7:36:05 AM9/6/01
to
An update to this error.

My implementation is somewhat simple at the moment, but here is
the section of code, if it helps.

Regards,


Laurence

Implements ISOAPError

Private Property Get ISOAPError_detail() As String
ISOAPError_detail = _
"<ErrorDetail xmlns='http://tempuri.org/errorDetail'>" & _
sError & _
"</ErrorDetail>"
End Property

Private Property Get ISOAPError_faultactor() As String
' Return an empty string to use the default actor
ISOAPError_faultactor = ""
End Property

Private Property Get ISOAPError_faultcode() As String
ISOAPError_faultcode = CStr(lError)
End Property

Private Property Get ISOAPError_faultstring() As String
ISOAPError_faultstring = sError
End Property

Private Property Get ISOAPError_faultcodeNS() As String
ISOAPError_faultcodeNS = "http://tempuri.org/errorDetail"
End Property


"Laurence Everitt" <Laur...@zy.com> wrote in message
news:tpel944...@xo.supernews.co.uk...

Jeffrey Huntsman

unread,
Sep 6, 2001, 6:38:11 PM9/6/01
to
That looks like the standard COM error number to me.

What is contained in faultcode and faultstring properties of SoapClient?


--
Jeffrey Huntsman
MCP, MCSD
Oakwood Systems Group
www.oakwoodsys.com

"Laurence Everitt" <Laur...@zy.com> wrote in message

news:tpent5s...@xo.supernews.co.uk...

Laurence Everitt

unread,
Sep 7, 2001, 9:07:37 AM9/7/01
to
Jeffrey,

This is the contents of the reply that I get back:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
- <SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
- <SOAP-ENV:Body>
- <SOAP-ENV:Fault>
<faultcode
xmlns:SOAPSDK1="http://tempuri.org/errorDetail">SOAPSDK1:-112</faultcode>
<faultstring>Maximum number of fields reached</faultstring>

<faultactor>http://dev.server.com:8080/WebService/WebService.WSDL</faultacto
r>
- <detail>
<ErrorDetail xmlns="http://tempuri.org/errorDetail">Maximum number of
fields reached</ErrorDetail>
</detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

The faultcode and faultstring are correct, but this isn't what is reported
back to the VB Error code.


"Jeffrey Huntsman" <Jeffrey....@Removeme-mkg.com> wrote in message
news:ecFscSyNBHA.1324@tkmsftngp05...

Frank Mantek

unread,
Sep 7, 2001, 10:26:48 AM9/7/01
to
You are misinterpreting the meaning of the soap faultcode. What you do
believe is that the numeric faultcode in the soapmessage will end up in the
VB error.numer value. This is wrong.

The soap faultcode is a textual representation of "whatever you choose",
defaults are, e.g., "Client", "Server", "MustUnderstand" etc... (see soap
spec)

So we can not take this value in general, and put it into the VB error
object. That's why you are getting the generic E_FAIL error in VB.

Now what you can do is:

a) just use IErrorInfo in your component (like an err.raise). This get's
through fine
b) or pick up the error code by using the soapclient.faultcode property. I
would recommend though to change the format then and create identifiers
like: "Error112" or something, instead of negative numbers.

Note though, that the faultcode currently (propertywise on the client) is
wrong in the regard that it gives you the "prefix:code" format back, in the
below case, you get "SOAPSDK4:-112". This is going to get fixed in V3. To
work around this now, you could have a helper method that just extracts
your error out of the faultcode property.

Regards

Frank Mantek
Microsoft


"Laurence Everitt" <Laur...@zy.com> wrote in message

news:tphhkph...@xo.supernews.co.uk...

0 new messages