ws-soap-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Enquire <ws_dev2...@yahoo.com>
Subject SOAP- ENV :Fault = Protocol ???
Date Wed, 13 Nov 2002 19:46:48 GMT
Hi All,

I have a problem with a SOAP invocation of an ATL COM
object which I have deployed (I feel imperfectly on
the Apache SOAP Server.
I however, do not have any problems with my other
deployed SOAP WebServices at the same SOAP RPCRouter
URL...........

The SOAP Response returns a text/html format error as
the Apache Xerces DOMWriter/DOMFaultListener is not
happy with the format of the SOAP ENV– more
importantly both the Java SOAP Client and the Apache
SOAP Server complain about a ‘NullPointerReference’.
This leads me more to believe that it basically is a
problem with the way I have registered the SOAP
WebService using the XML deployment Descriptor.

I could not find anyone better source than here to
follow this line of enquiry to possible programmatic
success.

In the meantime, I have sparingly tried something with
the ATL COM DLL which I thought I may report to you:

i) First up, I don’t think that I have registered the
ATL COM DLL properly with the SOAP Server. I need a
proper way of naming the Object (preferably a fully
qualified name); this can be noted in the XML file
which is used as a deployment descriptor for the SOAP
WebService . To extrapolate an earlier experience with
Microsoft based COM DLLs { what I had done with the
Visual Basic COM DLL } -> I had to register the
Project Name and the Class Module name in the VB COM
DLL SOAP WebService Deployment Descriptor(XML file
again) .I need the ‘progid’ value (please note the
relevant portions under). Could you guide me in this
regard??

 
********************
Visual Basic COM DLL            
********************

<!--Apache SOAP specific deployment descriptor (ie
loads this service into Apache SOAP.-->

<isd:service
xmlns:isd="http://xml.apache.org/xml-soap/deployment"

             id="urn:demo:hello">

  <isd:provider
type="org.apache.soap.providers.com.RPCProvider"

                scope="Application"

                methods="Hello">

    <isd:java class="required not needed for
COMProvider"/>

    <isd:option key="progid" value="Project1.Class1"
/>

  </isd:provider>

 
<isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListener>

</isd:service>

 

 
**********************
Visual C++ ATL Com DLL
**********************
 

<!--Apache SOAP specific deployment descriptor (ie
loads this service into Apache SOAP.-->

<isd:service
xmlns:isd="http://xml.apache.org/xml-soap/deployment"
id="urn:demo:ATL">

  <isd:provider
type="org.apache.soap.providers.com.RPCProvider"

      scope="Application" methods="DllMain">

    <isd:java class="required not needed for
COMProvider"/>

    <isd:option key="progid"
value="Day1Server.MyFirstATLObject" />

    <!-- <isd:option key="threadmodel"
value="SINGLEAPARTMENTTHREADED" />

    <isd:option key="threadmodel"
value="APARTMENTTHREADED" />

    <isd:option key="threadmodel"
value="MULTITHREADED" /> 

    -->

    

        <isd:option key="threadmodel"
value="APARTMENTTHREADED" />

  </isd:provider>

<isd:faultListener>

org.apache.soap.server.DOMFaultListener

</isd:faultListener>

</isd:service>

 

 

ii) Next, I was able to register an ATL COM DLL which
is not using a BSTR (tried int*, char*…successfully
with minor though ‘telling’ code tweaking), but the
STL Registration process requires that a pointer be
used due to the constraints imposed by the ‘atl.h’
header file (standard) – btw can we change this header
so that it accepts non-pointer based datatypes? (I
foresee that there might be more code other than the
header which we may need to update in the ‘Microsoft’
implementation of ATL).

 

 

iii) Further, I was considering the reverse approach
-> ATL COM Client to non-Microsoft SOAP WebService,
say, Java.

 

iv) As of time=now, I haven’t tried testing a separate
box(computer)->>[ Client on one box and server on
another box ] scenario (memory heap allocation problem
possibly??)

 

v) Also, Java handles BSTR; it refers to it as
BinaryString!


To conclude, IMHO, I feel that the Java
NullPointerException is being thrown mainly due to the
fact that the fully qualified object name is not
available.


Please respond ASAP.

Sincerely,
<->{ R2D2 }<->

 

 

 

 

 

 



 



__________________________________________________
Do You Yahoo!?
Everything you'll ever need on one web page
from News and Sport to Email and Music Charts
http://uk.my.yahoo.com

Mime
View raw message