Visual Studio 2010 から Java (XFire) で作成された Web サービスを使用しようとしています。このサービスは Visual Studio 2008 で問題なく動作します。どちらの場合も、Web 参照を使用してサービスにアクセスしています。また、svcutil.exe で Web サービス コンシューマー コードを生成して、それをウォークスルーしようとしましたが、それでもデータは返されません。
log4j ログにアクセスできますが、呼び出しが Java 側で実行を引き起こしていることはわかりません。
どこかに設定が欠けているかどうかは誰にもわかりませんか?または、Web 参照を介した Web サービスの消費が 2010 年に何らかの形でより厳しくなっている場合。
以下のコードでは、rwsResponse は何かですが、retrieveWorker の呼び出し後は rwsResponse.WorkerServiceResponse は Nothing です。
Dim rwsService As New rws.WorkerService
Dim rwsResponse As New rws.retrieveWorkerResponse
Dim rwsRequest As New rws.retrieveWorker
rwsRequest.SearchOption = New rws.RetrieveKeyType()
rwsRequest.SearchOption.Items = New String() {userID}
rwsRequest.SearchOption.ItemsElementName = New rws.ItemsChoiceType() {rws.ItemsChoiceType.user_Id}
rwsResponse = rwsService.retrieveWorker(rwsRequest)
Dim rwsWorker As rws.EnterpriseWorkerType
Dim rwsMessage As rws.MessageType
If rwsResponse Is Nothing OrElse rwsResponse.WorkerServiceResponse Is Nothing Then
Throw New Exception(String.Format("retrieveWorkerService:WorkerServiceResponse is null{0}userID:{1}", vbCrLf, userID))
End If
奇妙なのは、このコードが Visual Studio .NET 2008 で正常に動作することです。2008 と 2010 の両方が、このアプリの 3.5 をターゲットにしています。