我引用了用java编写的Web服务。我需要在我的BizTalk项目中使用它。所以我通过添加服务引用 - 高级 - 添加Web引用添加引用,因为java Web服务不是WCF服务。好的,VS为我生成服务的XSD和ODX。但是当我尝试编译项目时,我得到了非常奇怪的错误“在声明XXX类型时缺少部分修饰符;此类型的另一部分声明存在”。描述了相同的错误here。
我认为我错过了一些东西所以我创建了一个全新的解决方案,添加了一个控制台应用程序,添加了Web引用并成功构建了该解决方案。因此,我可以得出结论,只有在BizTalk解决方案中添加Web服务引用时才会出现错误。
我尝试手动修复错误,打开 Reference.map.cs 文件,为生成的命名空间添加“.Biztalk”后缀,并成功编译所有内容。它真的是BizTalk项目的代码生成器中的错误,还是我错过了什么?
答案 0 :(得分:0)
不确定,我从未见过这个错误...
但是,我要做的是创建一个类库项目并在此处添加Web引用。然后,您可以在SOAP发送端口中使用它,如here所述(请参阅第5点)。您还可以直接在BizTalk项目中引用类库。既然你说Web引用在Console应用程序中工作,也许这可以工作......
此外,您可以直接使用XSD架构 - 但这需要更多工作。您必须在业务流程或自定义管道组件中手动提升几个属性。您可以在this post找到更多详细信息(网站目前已关闭,但希望最终会重新上线)。
最后,您还可以使用httpBinding尝试WCF适配器。这是为互操作而设计的,只要你有定义消息的模式就可以工作。
祝你好运!