2012-02-17 1 views
0

を取得していません。URLConnectionのは、私はMATLABでWebサービスを使用しようとしていますが、私は問題を抱えているヘッダ

Webサービスは、MATLABは無視し、認証のためにクッキーを送信します。 MATLAB関数callSoapServiceは、このJavaコードを使用しています。

url = URL(endpoint); 
if isempty(proxy) 
    httpConn = url.openConnection; 
else 
    httpConn = url.openConnection(proxy); 
end 
httpConn.setRequestProperty('Content-Type','text/xml; charset=utf-8'); 
httpConn.setRequestProperty('SOAPAction',soapAction); 
httpConn.setRequestMethod('POST'); 
httpConn.setDoOutput(true); 
httpConn.setDoInput(true); 
outputStream = httpConn.getOutputStream; 
outputStream.write(b); 
outputStream.close; 
inputStream = httpConn.getInputStream; 
byteArrayOutputStream = java.io.ByteArrayOutputStream; 
isc = InterruptibleStreamCopier.getInterruptibleStreamCopier; 
isc.copyStream(inputStream,byteArrayOutputStream); 
inputStream.close; 
byteArrayOutputStream.close; 
resp = byteArrayOutputStream.toString('UTF-8'); 

私はhttpConn.getHeaderFields()を記述する場合、それは代わりに、クッキーとヘッダの、空のリストを返します。何か案が? javaドキュメントでは、httpConn.connect()を呼び出す必要があり、Matlabはそれをしないと言います。コード内のどこかでその行を追加しましたが、それはうまく動作しません。

答えて

0

解決策が見つかりました。

JavaユーザエージェントMozilla/5.0(Java 1.6.0_17; Windows 7 6.1 amd64; ja_US)のブラウザ機能オブジェクトがCookieフィールドにfalseを返すため、ASP.NETはCookieを送信しませんでした。

新しいjava.browserファイルを作成し、それをApp_Browsersディレクトリに配置しました。私はアプリケーションを再デプロイして動作しました! ASP.NetはCookieをMatlabに送信します。

私が次にしなければならなかったことは、毎回クッキーを受信して​​再送信するようにMatlab Soap関数を変更することでした。 http://www.mathworks.com/support/service_requests/Service_Request_Detail.do?row_id=1-GQMEDO

http://msdn.microsoft.com/en-us/library/system.web.httpbrowsercapabilities.aspx

:私は、私は、MATLABためにこの問題を報告し http://www.cadec-online.com/Help/API.aspx#Matlab

でその解決策を掲載しました

関連する問題