我开始使用WCF开发Web服务并创建了一个WCF服务项目。我让所有的原样,并作为JAX WS服务在netbeans中导入服务。一切似乎都很好。
Service1 test= new Service1();
CompositeType ct=new CompositeType();
ct.setBoolValue(Boolean.TRUE);
ObjectFactory factory=new ObjectFactory();
ct.setStringValue(factory.createString("StringValue"));
CompositeType result= test.getBasicHttpBindingIService1().getDataUsingDataContract(ct);
我可以发送请求。我可以在Visual Studio中查看并查看CompositeType对象。但是对象不是应该的:
true
。 null
。 为什么我不能将CompositeType发布到java但可以使用它?
答案 0 :(得分:2)
很难从你提供的细节中分辨出来。
以下是我的建议:
在服务端启用跟踪,生成跟踪日志,并使用SvcTraceViewer进行分析。为此,请按照this MSDN article on using the service trace viewer上的说明操作。注意第一次和第二次之间有什么不同。
启用调试例外。这是通过输入include {ExceptionDetailInFaults you can do by following the instructions here来完成的。注意第一次和第二次之间有什么不同。
使用Fiddler监控客户端和服务端的有线流量。
通常,一旦你这样做,你应该有更多关于服务方面什么是时髦的信息,并且可以很快地诊断问题。试试吧,请报告回来! :)
答案 1 :(得分:1)
我也失去了2个小时!
问题出在java代码中:)
而不是这个
ct.setStringValue(factory.createString("StringValue"));
使用此
ct.setStringValue(factory.createCompositeTypeStringValue("StringValue"));