1

アプリケーションからWebサービスを呼び出そうとしています。私のシステムはファイアウォールで保護されており、プロキシを使用して外部URL/インターネットアクセスにアクセスしています。アプリケーションはJBossEAP5.1サーバーで実行されています。アプリケーションはIO例外でサービスURLへの書き込みに失敗します:'メッセージを送信できませんでした'。

しかし、IE / FirefoxでサービスURLにアクセスしようとすると、開いています。ブラウザから受け取ったXML応答には、一般的なエラー('無効な要求パラメータ...')が示されていますが、これは非常に明白です。ブラウザから適切なリクエストXMLを送信していないためです。

私はこの格差に本当に混乱しています。以前は、JBossが標準のWindowsネットワーク設定を取得すると信じていましたが、私の場合はそうではありません。

私のコードは次のとおりです。

String strUrl = "http://theurlgoeshere";
String requestXml = "<request></request>";
String wsResponse="";
SOAPConnection conn = null;

try {               
MessageFactory msgFac = MessageFactory.newInstance();
MimeHeaders mh = new MimeHeaders();
mh.setHeader("Content-Type", "text/xml; charset=UTF-8");

log.info("Request Xml:" + requestXml );
InputStream is = new ByteArrayInputStream(requestXml.getBytes("UTF-8"));
SOAPMessage reqMsg = msgFac.createMessage(mh, is);

SOAPConnectionFactory conFac = SOAPConnectionFactory.newInstance();
conn = conFac.createConnection();

SOAPMessage repMsg = conn.call(reqMsg, strUrl);     
ByteArrayOutputStream out = new ByteArrayOutputStream();
repMsg.writeTo(out);            
wsResponse = new String(out.toByteArray());
}
catch (Exception e) {
e.printStackTrace();
}
4

1 に答える 1

0

数日前に整理しました。基本的に、私は HttpURLConnection を使用して、Web サービスの呼び出し中に Java コード自体にプロキシ設定を追加しています。私のクエリが解決されたので、この質問を閉じます。

必要に応じて、新しいコードを更新します。

于 2013-10-28T22:15:22.710 に答える