English 中文(简体)
Add basicHttpBinding to BizTalk ESB Toolkit WCF Service /ESB.ItineraryServices.WCF/ProcessItinerary.svc
原标题:

Just getting started with the ESB Toolkit 2.0 on BizTalk Server 2009. I can get a .NET client to talk to the ESB Toolkit WCF Service /ESB.ItineraryServices.WCF/ProcessItinerary.svc with no problem at all, however, we use a client technology that cannot process wsHttpBindings at all, it can only see the basicHttpBinding.

Does anyone have any idea how to add a basicHttpBinding to the web.config for this service? The web.config is shown below.

Many thanks for any help you can provide.

Andrew

<?xml version="1.0"?>
<!-- 
    Note: As an alternative to hand editing this file you can use the 
    web admin tool to configure settings for your application. Use
    the Website->Asp.Net Configuration option in Visual Studio.
    A full list of settings and comments can be found in 
    machine.config.comments usually located in 
    WindowsMicrosoft.NetFrameworkv2.xConfig 
-->
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
 <!--
    The <configSections> section declares handlers for custom configuration sections.
  -->
 <configSections>
  <section name="bizTalkSettings" type="Microsoft.BizTalk.Adapter.Wcf.Runtime.BizTalkConfigurationSection, Microsoft.BizTalk.Adapter.Wcf.Runtime, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
  <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
   <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
    <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
    <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
     <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>
     <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
     <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
     <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/></sectionGroup></sectionGroup></sectionGroup></configSections>
 <!--
    The <bizTalkSettings> section specifies BizTalk specific configuration.
  -->
 <bizTalkSettings>
  <!--
      mexServiceHostFactory debug:
      Set to "true" to launch debugger when MexServiceHostFactory.CreateServiceHost(...) is called by IIS.
      Used to debug from initial point of activation by IIS.
      Default value is "false" for normal operation.
    -->
  <mexServiceHostFactory debug="false">
   <receiveLocationMappings>
    <!--add markupFileName="*.svc" receiveLocationName="?" publicBaseAddress="protocol://host[:port]" /-->
   </receiveLocationMappings>
  </mexServiceHostFactory>
  <!--
      webServiceHostFactory debug:
      Set to "true" to launch debugger when WebServiceHostFactory.CreateServiceHost(...) is called by IIS.
      Used to debug from initial point of activation by IIS.
      Default value is "false" for normal operation.
    -->
  <webServiceHostFactory debug="false"/>
  <!--
      isolatedReceiver disable:
      Set to "true" to skip IBTTransportProxy.RegisterIsolatedReceiver(...) and IBTTransportProxy.TerminateIsolatedReceiver(...) calls.
      Used for testing metadata exchange without having to setup receive location.
      Default value is "false" for normal operation.
    -->
  <isolatedReceiver disable="false"/>
  <!--
      btsWsdlExporter disable:
      Set to "true" to skip adding BtsWsdlExporter behavior extension to service endpoint.
      Used for testing or comparing strongly-typed WSDL customization versus weakly-typed WSDL of generic WCF service.
      Default value is "false" for normal operation.
    -->
  <btsWsdlExporter disable="false"/>
 </bizTalkSettings>
 <appSettings/>
 <connectionStrings/>
 <system.web>
  <!-- 
      Set compilation debug="true" to insert debugging symbols into the compiled page.
      Because this affects performance, set this value to true only during development.
    -->
  <compilation defaultLanguage="c#" debug="false">
   <assemblies>
    <add assembly="mscorlib, version=2.0.0.0, culture=neutral, publickeytoken=b77a5c561934e089"/>
    <add assembly="Microsoft.BizTalk.Adapter.Wcf.Common, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    <add assembly="Microsoft.BizTalk.Adapter.Wcf.Runtime, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/></assemblies>
  </compilation>
  <!--
      The <authentication> section enables configuration of the security authentication mode
      used by ASP.NET to identify an incoming user.
    -->
  <authentication mode="None"/>   <!--  <authentication mode="Windows"/> -->
  <!--
      The <customErrors> section enables configuration of what to do if/when an unhandled error
      occurs during the execution of a request. Specifically, it enables developers to configure
      html error pages to be displayed in place of a error stack trace.
    -->
  <!--
    <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
      <error statusCode="403" redirect="NoAccess.htm" />
      <error statusCode="404" redirect="FileNotFound.htm" />
    </customErrors>
    -->
  <customErrors mode="RemoteOnly"/>
  <trust level="Full" originUrl=""/>
  <pages>
   <controls>
    <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></controls></pages>
  <httpHandlers>
   <remove verb="*" path="*.asmx"/>
   <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
   <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
   <add verb="GET,HEAD" path="ScriptResource.axd" validate="false" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></httpHandlers>
  <httpModules>
   <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></httpModules></system.web>
 <!--
    The <system.serviceModel> section specifies Windows Communication Foundation (WCF) configuration.
  -->
 <system.serviceModel>
  <bindings/>
  <behaviors>
   <serviceBehaviors>
    <behavior name="ServiceBehaviorConfiguration">
     <serviceDebug httpHelpPageEnabled="true" httpsHelpPageEnabled="false" includeExceptionDetailInFaults="true"/>
     <serviceMetadata httpGetEnabled="true" httpsGetEnabled="false"/>
     <soapHeaderMetadata enabled="true">
      <soapHeaders>
       <!--add headerTypeName="Itinerary" operation="SubmitRequest" message="Itinerary" operationType="Input" targetNamespace="http://schemas.microsoft.biztalk.practices.esb.com/itinerary" xsdFileName="Itinerary.xsd"/-->
       <add headerTypeName="ItineraryDescription" operation="SubmitRequest" message="ItineraryDescription" operationType="Input" targetNamespace="http://schemas.microsoft.biztalk.practices.esb.com/itinerary" xsdFileName="ItineraryDescription.xsd"/>
      </soapHeaders>
     </soapHeaderMetadata>
<!--
     <serviceCredentials>
      <windowsAuthentication allowAnonymousLogons="true"/>
     </serviceCredentials>
-->
     <serviceAuthorization/>
    </behavior>
   </serviceBehaviors>
  </behaviors>
  <services>
   <service behaviorConfiguration="ServiceBehaviorConfiguration" name="Microsoft.BizTalk.Adapter.Wcf.Runtime.BizTalkServiceInstance">
    <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="" name="HttpMexEndpoint" contract="IMetadataExchange"/>
      </service>
  </services>
  <extensions>
   <behaviorExtensions>
    <add name="soapHeaderMetadata" type="Microsoft.Practices.ESB.ServiceModel.Helpers.SoapHeaderMetadataExtensionElement, Microsoft.Practices.ESB.ServiceModel.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
   </behaviorExtensions>
  </extensions>
 </system.serviceModel>
 <system.codedom>
   <compilers>
    <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
     <providerOption name="CompilerVersion" value="v3.5"/>
     <providerOption name="WarnAsError" value="false"/></compiler>
    <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
     <providerOption name="CompilerVersion" value="v3.5"/>
     <providerOption name="OptionInfer" value="true"/>
     <providerOption name="WarnAsError" value="false"/></compiler></compilers></system.codedom>
 <system.webServer>
   <validation validateIntegratedModeConfiguration="false"/>
  <modules>
   <remove name="ScriptModule"/>
   <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></modules>
  <handlers>
   <remove name="WebServiceHandlerFactory-Integrated"/>
   <remove name="ScriptHandlerFactory"/>
   <remove name="ScriptHandlerFactoryAppServices"/>
   <remove name="ScriptResource"/>
   <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
   <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
   <add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" preCondition="integratedMode" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></handlers></system.webServer>
 <runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
   <dependentAssembly>
    <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
    <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/></dependentAssembly>
   <dependentAssembly>
    <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
    <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/></dependentAssembly></assemblyBinding></runtime></configuration>
问题回答

You need to create a new On Ramp with basic Http binding.

You can create the OnRamp using BizTalk WCF Service Publishing Wizard.

Copy Web.config file from original service.

Verify that the ProcessitinerarySevice.svc file has factory set to

Microsoft.BizTalk.Adapter.Wcf.Runtime.BasicHttpWebServiceHostFactory

And now you can start using basicHttp binding.

Check out this link: http://payalaryabhandari.blogspot.com/2010_06_01_archive.html

In the binding tag you can add :

<basicHttpBinding>
  <binding name="basichttpbindingname">
    <security mode="TransportCredentialOnly">
      <transport clientCredentialType="Windows"/>
    </security>
    <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
  </binding>
</basicHttpBinding>




相关问题
BizTalk server problem

we have a biztalk server (a virtual one (1!)...) at our company, and an sql server where the data is being kept. Now we have a lot of data traffic. I m talking about hundred of thousands. So I m ...

Create key pair for BizTalk AS2 connection

I need to create an AS2 connection in BizTalk Server 2006 R2 to communicate with a business partner. I ve worked with BizTalk AS2 config before and the BizTalk docs have pretty good walkthroughs about ...

BizTalk mapper and the [ThreadStatic] attribute

I ve recently encountered an issue with the multi-threaded nature of the BizTalk Mapper and how it handles external assemblies. As this quote from MSDN indicates: Important Any code written in an ...

女士们:

我正在分析一项BizTalk(ka orchestration)申请,该申请正在由MSMQ与一个WCF服务机构进行沟通。 我不禁要问,为什么世界气候基金的一个服务执行项目有一个小参数。

热门标签