Поделиться через


Sending Messages to Commerce Server

Each of the four BizTalk adapters provided with Commerce Server 2009 can operate as a BizTalk Server solicit-response send adapter. Because these adapters are BizTalk adapters, they are named according to the BizTalk Server perspective: send adapters are used to send solicit messages out of BizTalk Server to another system (in this case, Commerce Server 2009) and to receive the response messages back into BizTalk Server.

In the send mode of operation, the Commerce Server 2009 adapters subscribe to certain message types, requesting that BizTalk Server route messages of that type to them to be handled. Upon reception of messages, the Commerce Server 2009 send adapters use the Web service provided by their corresponding Commerce Server 2009 system (Orders, Catalog, Inventory, or Profiles) to satisfy the request contained in the solicit message. The result of the solicitation is packaged as a response message, which is then submitted into BizTalk Server using the standard mechanisms of the BizTalk adapter framework. In this capacity, the Commerce Server 2009 send adapters should be viewed as application adapters, each of them designed to handle a small set of specific message types that the adapters can process and respond to. Compare this to a BizTalk Server file adapter, which can be used to pass any type of message into or out of BizTalk Server.

As a developer tasked with using BizTalk Server to integrate Commerce Server 2009 with another application or system, your decision to use one or more of the Commerce Server 2009 send adapters will be based on whether the other system with which you are integrating Commerce Server 2009 is designed to drive the interaction. In other words, is the other system capable of initiating the operations to import or extract Commerce Server 2009 data as it sees fit. If the answer to this question is yes, using the appropriate Commerce Server 2009 send adapter(s) is likely to be your solution of choice.

If you are going to use one or more of the Commerce Server 2009 send adapters, generally speaking, with respect to the adapter itself and its interaction with Commerce Server 2009, you have fewer choices to make. This is largely because the other system is driving the interaction and creating the solicit messages that determine the nature of the interaction. That said, and particularly with regard to the Catalog and Inventory send adapters, there are still a number of configuration properties with which you need to be concerned.

Common to all of the Commerce Server 2009 send adapters is your choice of which solicit message or messages you want a particular send adapter endpoint to handle. Each of the send adapters has a transport property named Endpoint Message Type that provides a drop-down list of choices. These choices are the various solicit messages that that type of send adapter can process, plus an additional choice named From Context. The setting you provide for this property determines the messages to which this send adapter endpoint subscribes. If you choose one of the individual messages, this send adapter endpoint will only subscribe with BizTalk Server to receive that type of message, and if you want your integrated solution to handle multiple message types, you will need to create other send adapter endpoints to handle those other message types. If you configure one or more send adapter endpoints to handle individual message types, the messages sent to these endpoints by BizTalk Server need to contain the context property CommerceServerMessageType. The endpoint will assume the type of any messages sent to it is the type of message to which it is subscribed.

If you choose From Context as the value of the transport property Endpoint Message Type, you are configuring this send adapter endpoint to handle multiple message types, and requesting that the send adapter look within the message context to determine the type of each message so that it can be processed accordingly. If you configure a send adapter endpoint to handle multiple message types, you must make sure that the messages themselves contain the context property CommerceServerMessageType, set to one of the valid solicit message type values.

Note

When a Commerce Server 2009 send adapter encounters a solicit message that is not valid, such as an unknown value for the context property CommerceServerMessageType when the transport property Endpoint Message Type is set to From Context, the message is placed on the suspended queue. This situation will require administrator intervention to be resolved.

Each of the four types of Commerce Server 2009 send adapters also provides a variable number of additional transport properties that you can configure to control how the solicit message can affect the data in your Commerce Server 2009 application as well as what information is included in the response messages generated by the send adapter and submitted back into BizTalk Server. In particular, the Catalog and Inventory send adapters offer a relatively large number of configuration properties that control how data can be imported into their corresponding Commerce Server 2009 systems. The following sections summarize the types of control you can exercise when configuring the data to be exchanged with the different Commerce Server 2009 systems using the Commerce Server 2009 send adapters.

Note

There are also a number of transport properties associated with all of the Commerce Server 2009 send adapters that are concerned with connecting successfully to the corresponding Commerce Server 2009 Web service.

Orders Send Adapter

For the Orders send adapter you can specify, for example:

  • Which pipeline to run for basket validation.

  • Whether validated baskets should be saved as purchase orders.

For more information, see How to Configure the Orders Transport Properties for a Send Endpoint.

Catalog Send Adapter

For the Catalog send adapter you can specify, for example:

  • Whether imported inventory data should completely replace existing data.

  • Which product catalogs may be imported using this send adapter endpoint.

  • Which product properties may be imported using this send adapter endpoint.

  • Whether schemas may be imported.

  • Whether product relationships may be overwritten by imports.

  • Whether imports should be transactional.

  • Whether new search indexes should be generated after import operations.

  • Whether schemas should be included in responses to queries.

For more information, see How to Configure the Catalog Transport Properties for a Send Endpoint.

Inventory Send Adapter

For the Inventory send adapter you can specify, for example:

  • Whether imported inventory data should completely replace existing data.

  • Which inventory and product catalogs may be imported using this send adapter endpoint.

  • Which product properties may be imported using this send adapter endpoint.

  • Whether schemas may be imported.

  • Whether imports should be transactional.

  • Whether schemas should be included in responses to queries.

For more information, see How to Configure the Inventory Transport Properties for a Send Endpoint.

Profiles Send Adapter

For the Profiles send adapter you can specify, for example:

  • Whether profile updates will overwrite existing profile properties.

For more information, see How to Configure the Profiles Transport Properties for a Send Endpoint.

See Also

Other Resources

Conversing with Other Systems

Business Scenarios for Using the BizTalk Adapters

Receiving Messages from Commerce Server

How to Configure the Orders Transport Properties for a Send Endpoint

How to Configure the Catalog Transport Properties for a Send Endpoint

How to Configure the Inventory Transport Properties for a Send Endpoint

How to Configure the Profiles Transport Properties for a Receive Endpoint

Using the BizTalk Adapters to Send and Receive Messages