我正在尝试使用 Visual Studio 2010 中用 Java (XFire) 创建的 Web 服务。该服务在 Visual Studio 2008 中运行没有问题。在这两种情况下,我都使用 Web 引用来访问服务。我也试过 svcutil.exe 生成 Web 服务使用者代码并遍历它,它仍然不会返回数据。
我可以访问 log4j 日志,但我没有看到导致 Java 端执行的调用。
有谁知道我是否在某处缺少设置?或者,如果在 2010 年通过 Web 引用使用 Web 服务更加严格。
在下面的代码中,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。