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 -- To unsubscribe, e-mail: <mailto:soap-dev-unsubscribe@;xml.apache.org> For additional commands, e-mail: <mailto:soap-dev-help@;xml.apache.org>