2015-07-20 77 views
0

不知道你们是否可以提供帮助。我已经使用BizTalk WCF服务发布向导通过WCF-WebHttp公开一个业务流程,并且我可以看到这个服务,并且我能够通过SOAPUi等向它发送请求,但是,当我尝试并且不能看到任何模式时将该服务引用添加到.NET应用程序。我确保模式在同一个项目中,并且在部署服务之前,实际的DLL是GAC'd。Biztalk 2013 WCF-webhttp(WCF网络发布向导)不公开模式

我已经看过wsdl,但是看不到任何与模式有关的东西。

<wsdl:types> 
    <xs:schema elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/Message" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://schemas.microsoft.com/Message"> 
     <xs:complexType name="MessageBody"> 
     <xs:sequence> 
      <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" /> 
     </xs:sequence> 
     </xs:complexType> 
    </xs:schema> 
</wsdl:types> 
<wsdl:message name="ITwoWayAsync_BizTalkSubmit_InputMessage"> 
    <wsdl:part name="message" type="q1:MessageBody" xmlns:q1="http://schemas.microsoft.com/Message" /> 
    </wsdl:message> 
    <wsdl:message name="ITwoWayAsync_BizTalkSubmit_OutputMessage"> 
    <wsdl:part name="BizTalkSubmitResult" type="q2:MessageBody" xmlns:q2="http://schemas.microsoft.com/Message" /> 
    </wsdl:message> 
    <wsdl:portType name="ITwoWayAsync"> 
    <wsdl:operation name="BizTalkSubmit"> 
    <wsdl:input wsaw:Action="BizTalkSubmit" message="tns:ITwoWayAsync_BizTalkSubmit_InputMessage" /> 
    <wsdl:output wsaw:Action="http://www.microsoft.com/biztalk/2006/r2/wcf-adapter/ITwoWayAsync/BizTalkSubmitResponse" message="tns:ITwoWayAsync_BizTalkSubmit_OutputMessage" /> 
</wsdl:operation> 
</wsdl:portType> 
<wsdl:service name="BizTalkServiceInstance" /> 
</wsdl:definitions> 

当我尝试添加服务参考服务,它成功地增加了参考,但对于所谓BizTalkSubmit的方法,只需要System.ServiceModel.Channels.Message的参数。

任何想法非常感谢。

问候

Jazzyuk

+0

WCF-WebHttp不使用WSDL文件或“强类型”的消息。你在这里以不一定合理的方式混合范例。如果你想使用强类型的消息传递并且具有添加服务引用的功能,那么使用基于SOAP的协议,比如WCF-WSHttp/BasicHttp –

回答

0

我建议你先发布使用WCF-WSHttp,然后更改为WCF-WebHttp之后。这将使你选择一个架构发布:

enter image description here

enter image description here

+0

嗨,所以只需确认,先发布模式,然后在接收端口中更改传输在BizTalk管理到WCF-WebHttp?谢谢 – jazzyuk

+0

是的,发布向导只是达到目的的一种手段,用于生成服务的WSDL。然后,您将能够在客户端添加服务引用,并为您生成代理类。 – Gruff

+0

请记住,如果您使用WCF-WebHttp,那么您正在设计一个宁静的服务。WSDL不再适合​​这种情况。 @Gruff,你确定这个方法一旦改为WCF-WebHttp就可以工作吗?如果是这样,它不会像真正公开基于SOAP的接口那样可靠。 –