Преобразование информации инструментом переноса J2C

Инструмент переноса J2C извлекает требуемую информацию из файлов WSDL и на ее основе создает определение исходящего интерфейса.
Табл. 1. Преобразование информации
Тип информации Источник информации в файле WSDL Конечная информация в объекте J2C
Имя интерфейса объекта JavaBean Атрибут name элемента porttype, заданного в файле интерфейса wsdl. Имя интерфейса объекта JavaBean извлекается из атрибута name элемента porttype, заданного в файле интерфейса wsdl.
Имя реализации объекта JavaBean InterfaceName Имя реализации объекта JavaBean создается в соответствии со следующим соглашением: implName = InterfaceName + Proxy.
Имя пакета объекта JavaBean Имя targetNamespace из файла интерфейса wsdl. В качестве имени пакета объекта JavaBean применяется имя targetNamespace из файла интерфейса wsdl.
Имя проекта (Java, EJB или веб-проекта) Имя проекта по умолчанию указывается на основе информации, собранной в файлах WSDL. Имя проекта, в котором код извлекается из файла WSDL; при необходимости можно указать другое имя.
Свойства соединения <port/>

Свойства соединения извлекаются из атрибутов ExtensibilityElement, заданных в элементе port файла службы wsdl.

Пример

<port binding="binding1:CustomerInfoCICSECIBinding name="CustomerInfoCICSECIPort">
<cicseci:address connectionURL="test" password="tester1" serverName="test" username="tester1">
</port>
В файле xxxxxxProxy.java информация о соединении указывается в теге доклета.
/**
  * @j2c.managedConnectionFactory-property name="ConnectionURL" value="test" 
  * @j2c.managedConnectionFactory-property name="ServerName" value="test" 
  * @j2c.managedConnectionFactory-property name="UserName" value="tester1" 
  * @j2c.managedConnectionFactory-property name="Password" value="tester1"  
	 */
Тип адаптера ресурса <port/>

Тип адаптера ресурса извлекается из пространства имен элемента <port/>, указанного в файле службы wsdl.

Пример (выделен полужирным)

<port binding="binding1:LoanBalanceIMSBinding name="LoanBalanceIMSPort">
<ims:address CM0Dedicated="true" JNDILookupName="eis/TEST" dataStoreName="Test">
</port>
В процессе переноса адаптер ресурса требуемого типа автоматически импортируется в рабочую область.
JNDILookupName
<port binding="binding1:LoanBalanceIMSBinding name="LoanBalanceIMSPort">
<ims:address CM0Dedicated="true" JNDILookupName="eis/TEST" dataStoreName="Test">
</port>
В файле xxx Proxy.java элемент JNDILookupName выглядит следующим образом:
/**
* @j2c.connectionFactory jndi-name="sample/cics/CustomerInfoCICSECIService/CustomerInfoCICSECIPort"
    */
Свойство соединения или взаимодействия, которое экспортируется в качестве входного атрибута метода <operation/>

Имя свойства соединения или взаимодействия извлекается из аргумента элемента, который инкапсулирован в элемент <operation/> файла WSDL связывания.

Пример

<ims:interactionSpecProperty part="myInImsRequestType" propertyName="imsRequestType"/>
<ims:interactionSpecProperty part="myInInteractionVerb" propertyName="interactionVerb" />
<ims:connectionSpecProperty part="myConUserName" propertyName="userName" />
<ims:connectionSpecProperty part="myConPassword" propertyName="password" />

< / input>
<output name="LoanBalanceInquiryResponse" />
</operation>
В файле xxx Proxy.java спецификация соединения или взаимодействия выглядит следующим образом:
/**
	 * @j2c.connectionSpec-property name="userName" argumentBinding="argMyConUserName"
	 * @j2c.connectionSpec-property name="password" argumentBinding="argMyConPassword"
	 * @j2c.connectionSpec-property name="groupName" argumentBinding="argMyConGroupName"
	 * @j2c.connectionSpec-property name="clientID" argumentBinding="argMyConClientID"
	 * @j2c.interactionSpec class="com.ibm.connector2.ims.ico.IMSInteractionSpec"
	 * @j2c.interactionSpec-property name="imsRequestType" argumentBinding="argMyInImsRequestType"
	 * @j2c.interactionSpec-property name="interactionVerb" argumentBinding="argMyInInteractionVerb"
	 * @j2c.interactionSpec-property name="executionTimeout" argumentBinding="argMyInExecutionTimeout"
	 * @j2c.interactionSpec-property name="ltermName" argumentBinding="argMyInLtermName"
	 * @j2c.interactionSpec-property name="mapName" argumentBinding="argMyInMapName"
	 * @j2c.interactionSpec-property name="commitMode" argumentBinding="argMyInCommitMode"
	 * @generated
	 */
Тип свойств соединения или взаимодействия <message/>

Тип свойств соединения или взаимодействия извлекается из подэлемента <part /> элемента <message />.

Пример

<message name="LoanBalanceInquiryRequest">

<part name="lOANBALREQ" type="tns:LOANBALREQ" />

<part name="lOANBALREQ" type="tns:LOANBALREQ" >
</part>

<part name="myInImsRequestType" type="xsd:int">
</part>

<part name="myInInteractionVerb" type="xsd:int" >
</part>

<part name="myInExecutionTimeout" type="xsd:int" >
</part>

<part name="myInLtermName" type="xsd:string">
</part>

<part name="myInMapName" type="xsd:string">
</part>

<part name="myInCommitMode" type="xsd:int">
</part>

<part name="myConUserName" type="xsd:string">
</part>

<part name="myConPassword" type="xsd:string">
</part>

<part name="myConGroupName" type="xsd:string">
</part>

<part name="myConClientID" type="xsd:string" >
</part>

</message>
В файле xxx xxxxInterface.java тип свойств спецификации соединения или взаимодействия выглядит следующим образом:
/**
 * @generated
 */
public interface xxxxInterface {

	/**
	 * @generated
	 */
	public LOANBALRESP LoanBalanceInquiry(LOANBALREQ lOANBALREQ, 
     int argMyInImsRequestType,
     int argMyInInteractionVerb,
     int argMyInExecutionTimeout,
     java.lang.String argMyInLtermName,         java.lang.String argMyInMapName,
     int argMyInCommitMode,
     java.lang.String argMyConUserName,
     java.lang.String argMyConPassword,
     java.lang.String argMyConGroupName,
     java.lang.String argMyConClientID)
     throws javax.resource.ResourceException;
}

Комментарии