I recently downloaded XMLRPC 1.0 from Dolphin Map. My environment is
Dolphin Value Edition 5.1. When I tried to install it I received a Transcript message stating there IXMLHttpRequest is undeclared. I understand that this class deals with MSXML, which I do have resident on my Windows 2000 Professional workstation (versions up through 4.0). What am I missing in order to start building my XMLRPC client? Does anyone have a point in the right direction? Many thanks! |
>I recently downloaded XMLRPC 1.0 from Dolphin Map. My environment is
> Dolphin Value Edition 5.1. When I tried to install it I received a > Transcript message stating there IXMLHttpRequest is undeclared. I > understand that this class deals with MSXML, which I do have resident > on my Windows 2000 Professional workstation (versions up through 4.0). > What am I missing in order to start building my XMLRPC client? Does > anyone have a point in the right direction? Dolphin Value Edition doesn't contain the xml classes... You could probably import them using the tools provided (Active-X Component Wizard). It would take some work though; Object Arts add some of their own methods to the default imported ones. I'll have a look at it tonight and update the package to degrade gracefully if it is loaded into Value Edition |
In reply to this post by gregarican
>I recently downloaded XMLRPC 1.0 from Dolphin Map. My environment is
> Dolphin Value Edition 5.1. When I tried to install it I received a > Transcript message stating there IXMLHttpRequest is undeclared. I > understand that this class deals with MSXML, which I do have resident > on my Windows 2000 Professional workstation (versions up through 4.0). > What am I missing in order to start building my XMLRPC client? Does > anyone have a point in the right direction? I just updated the site; http://www.arcturus.com.au/dolphin/ If you have a look at the XmlRpc section, there is now a separate version for a Value Edition image. I generated the MSXML package using the ActiveX Wizard in a Value Edition image: - Open up ActiveX Component Wizard - Add the MSXML 2.0 using Browse - Select the MSXML 2.0 entry, and clicked next - Used all the default settings, click next - Delsected all of the classes, and only generated the IXMLHttpRequest class. I've saved you those steps, but it is probably good for you to go through it anyway, so you can see first hand how easy it is to import any ActiveX object you might need to use within Dolpin. |
Sean M wrote:
> I just updated the site; > > http://www.arcturus.com.au/dolphin/ > > > If you have a look at the XmlRpc section, there is now a separate version > for a Value Edition image. > > > I generated the MSXML package using the ActiveX Wizard in a Value Edition > image: > > > - Open up ActiveX Component Wizard > - Add the MSXML 2.0 using Browse > - Select the MSXML 2.0 entry, and clicked next > - Used all the default settings, click next > - Delsected all of the classes, and only generated the IXMLHttpRequest > class. > > > I've saved you those steps, but it is probably good for you to go through it > anyway, so you can see first hand how easy it is to import any ActiveX > object you might need to use within Dolpin. > > Thanks for this. That wizard does make things a snap. So far I really am impressed with Dolphin Smalltalk. Looking forward to learning more as I go along! |
gregarican wrote:
> Thanks for this. That wizard does make things a snap. So far I really > am impressed with Dolphin Smalltalk. Looking forward to learning more > as I go along! Speaking of learning more as I go along... <newbie alert> When I am attempting to pass my XMLRPC method to an existing server, I get a 'Missing <methodResponse> tag' error message and apparently the method fails. Looking at the XMLRPC server the incoming IP address doesn't appear to be from my Dolphin client PC. The incoming IP address appears to be from my Windows domain controller/proxy server. I have another development box with Dolphin 5.1 VE on it and trying this the same thing happens. I have a test Ruby XMLRPC client app on these development boxes and that works fine. And the incoming IP address is correct as displayed on the XMLRPC server. Any ideas what's going on? </newbie alert> |
gregarican wrote:
> Speaking of learning more as I go along... <newbie alert> > > When I am attempting to pass my XMLRPC method to an existing server, I > get a 'Missing <methodResponse> tag' error message and apparently the > method fails. Looking at the XMLRPC server the incoming IP address > doesn't appear to be from my Dolphin client PC. The incoming IP address > appears to be from my Windows domain controller/proxy server. I have > another development box with Dolphin 5.1 VE on it and trying this the > same thing happens. > > > I have a test Ruby XMLRPC client app on these development boxes and > that works fine. And the incoming IP address is correct as displayed on > the XMLRPC server. > > > Any ideas what's going on? > </newbie alert> Instead of using the XMLRPC server's IP address I used its hostname and things resolve fine. The XMLRPC server sees the methods being passed from the correct Dolphin client PC. But I still get failures returned stating 'Missing <methodResponse> tag' to my Dolphin test app. Here's the basic code: test := XmlRpcClient url: '<a href="http://myBox:8888'">http://myBox:8888'. test perform: 'myTestMethod' withArguments: #('argumentOne' 'argumentTwo'). Hmm..... |
gregarican wrote:
> Instead of using the XMLRPC server's IP address I used its hostname and > things resolve fine. The XMLRPC server sees the methods being passed > from the correct Dolphin client PC. But I still get failures returned > stating 'Missing <methodResponse> tag' to my Dolphin test app. Here's > the basic code: > > test := XmlRpcClient url: '<a href="http://myBox:8888'">http://myBox:8888'. > test perform: 'anotherTestMethod' withArguments: #('argumentOne' > 'argumentTwo'). > > > Hmm..... Looking closer at what was going on I see that the XMLRPC server is sending back an HTTP 500 error, so that's why the Dolphin client isn't receiving a methodResponse tag. I have revised my code to include the /RPC2 URL reference. So know things look like: test := XmlRpcClient url: 'http://myBox:8888/RPC2'. test perform: 'anotherTestMethod' with: 'anArgument'. Same results, however. I have even used Ethereal to capture the TCP packets going back and forth between my failed Dolphin XMLRPC client attempts and my successful Ruby XMLRPC client attempts. Here is what is being sent by the Dolphin client: POST /RPC2 HTTP/1.1 Accept: */* Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322) Host: myBox:8888 Content-Length: 155 Connection: Keep-Alive Cache-Control: no-cache <?xml version="1.0"?> <methodCall> <methodName>anotherTestMethod </methodName> <params> <param><value><string>anArgument </string></value></param> </params> </methodCall> Then here is what's being sent from my Ruby client: POST /RPC2 HTTP/1.1 Accept: */* Connection: close Content-Type: text/xml User-Agent: XMLRPC::Client (Ruby 1.6.8) Host: myBox:8888 Content-Length: 152 <?xml version="1.0"?> <methodCall> <methodName>anotherTestMethod </methodName> <params> <param><value><string>anArgument </string></value></param> </params> </methodCall> >From what I see the XML tagged code being sent is identical. But the HTTP header being sent is different. I couldn't readily see where to modify the Dolphin HTTP header. Is this worth looking into deeper? I really need to get this XMLRPC mechanism working for a client app I'm testing out. Any assistance at all would be appreciated. I have searched around for any sample code that's out there in this area and only found a brief reference in a Cincom hosted blog entry... |
I have VisualWorks 7.3nc loaded on my development box and using its
XmlRpcClient class my test code ran out fine. As far as I can tell in the Dolphin version the HTTP headers should be set with the XmlRpcClient class' initialize method. But the header references are commented out with the default install. Here they are below: initialize "Set the required headers for XmlRpc" " self contentType: 'text/xml'. self fieldValueAt: 'User-Agent' put: 'Dolphin RPC Client'. " When I unremarked these header references the attempts to pass my test method to the XMLRPC server still fail. Curious if anyone's Dolphin environment has these elements working without a hitch. |
To remedy this at least for my Dolphin 5.1 Value Edition client I had
to add the following code below to my XmlRpcClient>>executeMethod: request setRequestHeader: 'Content-Type' bstrValue: 'text/xml'. request setRequestHeader: 'User-Agent' bstrValue: 'Dolphin XMLRPC Client'. After that things worked fine. Just an FYI in case anyone else runs into a similar issue. This one had me spending a few hours spinning my wheels :-) |
Free forum by Nabble | Edit this page |