Sie sind hier: Weblog

Relaying in Azure BizTalk Services Preview

Foto ,
23.06.2013 12:26:00

  
Die aktuelle Preview von BizTalk-Services scheint Bridges unter .NET 3.x auszuführen. Zu dieser Erkenntnis gelangt man, wenn man zum Beispiel via Relaying einen Service anstoßen möchte und den AC-Schlüssel für den Zugriff auf den Service Bus über ein transportClientEndpointBehavior definiert. Handelt es sich beim übergeordneten endpointBehavior um einen Standard-EndpointBehavior (einen endpointBehavior ohne Namen) so wird dieser nicht auf den konfigurierten Endpunkt, welcher auf den Relaying-Service verweist, angewandt. Grund dafür ist, dass es vor .NET 4 diese Semantik für das Definieren von Standard-Elementen noch nicht gegeben hat. Die Lösung ist, wenn man es erst mal weiß, ganz einfach: Man weist das endpointBehavior explizit zu. Nachfolgend ein Beispiel dafür:
 
<client>
      <!-- The clear below makes sure any client endpoints defined in machine.config dont get added-->
      <clear />
      <endpoint
        name="TwoWayRelayServiceReference1"
        address="https://steyer-servicebus.servicebus.windows.net/OrderServiceB"
        binding="basicHttpRelayBinding"
        bindingConfiguration="basicHttpRelayBinding1"
        behaviorConfiguration="MyBehavior"
        contract="System.ServiceModel.Routing.IRequestReplyRouter"/>
    </client>

    <behaviors>
      <endpointBehaviors>
        <behavior name="MyBehavior">
          <transportClientEndpointBehavior>
            <tokenProvider>
              <sharedSecret issuerName="owner" issuerSecret="o/3kNWWl9AeMpbwYR3OLQpbQcshi40Nf4XOC5zlqz7Q="/>
            </tokenProvider>
          </transportClientEndpointBehavior>
        </behavior>
      </endpointBehaviors>

    </behaviors>