[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[opensoap-users-ja:0030] Windows 環境での動作について



はじめまして。
室蘭工業大学の阿部と申します。

OpenSOAPのWindows環境でsamples/HelloServiceを
動作させたいのですが思うように動きません。
ご教授願います。

環境
Web server:Apache2.0.43 for windows
os:Windows XP
コンパイラ:Visual C++ 6.0

win32/OepnSOAP
win32/OpenSOAPServer
win32/OpenSOAPSamples
を、それぞれビルドし各種サーバーおよびdllを作成しました。
サーバーをインストールし、dllをWINDOWS/system32にコピーしました。

win32/OpenSOAPSamplesで作成した、
HelloService.cgi.exeをApacheのcgi-binディレクトリに、
HelloService.cgiと名前を変えて配置しました。
ちなみに簡単なperlとC言語のCGIは動作しました。

そこで、HelloClientを実行すると、
------------------Start SOAPMessage------------------------
=== request envelope begin ===
<?xml version="1.0" encoding="Shift_JIS"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Body>
    <m:Hello xmlns:m="http://services.opensoap.jp/samples/Hello/">
      <MyName>hoge</MyName>
    </m:Hello>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

=== request envelope  end  ===

=== response envelope begin ===
<?xml version="1.0" encoding="Shift_JIS"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Body>
    <SOAP-ENV:Fault>
      <faultcode>SOAP-ENV:Server</faultcode>
      <faultstring>HTTP Response receive error, HTTP STATUS
500</faultstring>
      <detail>&lt;!DOCTYPE HTML PUBLIC &quot;-//IETF//DTD HTML
2.0//EN&quot;&gt;

&lt;html&gt;&lt;head&gt;
&lt;title&gt;500 Internal Server Error&lt;/title&gt;
&lt;/head&gt;&lt;body&gt;
&lt;h1&gt;Internal Server Error&lt;/h1&gt;
&lt;p&gt;The server encountered an internal error or
misconfiguration and was unable to complete
your request.&lt;/p&gt;
&lt;p&gt;Please contact the server administrator,
 admin@svbl.muroran-it.ac.jp and inform them of the time the error occurred,
and anything you might have done that may have
caused the error.&lt;/p&gt;
&lt;p&gt;More information about this error may be available
in the server error log.&lt;/p&gt;
&lt;hr /&gt;
&lt;address&gt;Apache/2.0.43 Server at localhost Port 80&lt;/address&gt;
&lt;/body&gt;&lt;/html&gt;
</detail>
    </SOAP-ENV:Fault>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

=== response envelope  end  ===

reply:
--------------------------End
SOAPMessage-----------------------------------------------
となりました。

そこで、RquestEvelopeをテキストで保存し、コマンドラインで
Apache\cgi-bin>HelloService.cgi < message.txt
と実行すると、
-----------------Start testSOAPMessage------------------------------------
Content-Type: text/xml
Content-Length: 312

<?xml version="1.0" encoding="Shift_JIS"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Body>
    <m:HelloResponse xmlns:m="http://services.opensoap.jp/samples/Hello/">
      <Reply>Hello, hoge!</Reply>
    </m:HelloResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
-----------------End testSOAPMessage---------------------------------
と返ってきます。

Apacheのエラーログとスクリプトログは以下のようになりました。
-------------------Start ErrorLog--------------------------------------
[Fri Dec 06 15:05:25 2002] [error] [client 127.0.0.1] Premature end of
script headers: HelloService.cgi
-------------------End ErrorLog-----------------------

-------------------Start ScriptLog-------------------------------------
%% [Fri Dec 06 15:05:25 2002] POST /cgi-bin/HelloService.cgi HTTP/1.0
%% 500 C:/Apache/cgi-bin/HelloService.cgi
%request
Host: localhost
Content-Type: text/xml; charset="UTF-8"
Content-Length: 286
SOAPAction:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Body>
    <m:Hello xmlns:m="http://services.opensoap.jp/samples/Hello/">
      <MyName>hoge</MyName>
    </m:Hello>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

%response
-------------------End ScriptLog-------------------------------------

どこが悪いのか私にはわかりません。
よろしくおねがいします。
長文で読みにくい文になってしまって申し訳ありません。
MLを使用したのは初めてなので、不備な点がございましたらご指摘ください。

---
室蘭工業大学 情報工学科 4年 阿部 和法
mailto:abe@moop.csse.muroran-it.ac.jp