Sample Configuration File for the Web Services (SOAP) Input Adapter

Sample configuration file for the Web Services (SOAP) Input adapter.

Here is a sample configuration file for a simple input adapter.

<?xml version="1.0"?>

<Adapter>

  <Name>Example streaming input adapter</Name>
  <Description>This is an example SOAP input adapter.</Description>
  <Modules>
    <Module type="transporter">
      <InstanceName>StockTraderServiceTransporter</InstanceName>
      <Name>SOAPInputTransporter</Name>
      <Polling>
        <Enabled>true</Enabled>
        <TimeInterval>20000</TimeInterval>
      </Polling>
      <Next>StockTraderServicePublisher</Next>
      <Parameters>
			<SOAPInputTransportParameters>
				<webservice name="StockTraderService">
					<urls>
						<wsdlURL>http://localhost:8080/axis2/services/StockTraderService?wsdl</wsdlURL>
					<!--	the serviceURL is only required if you wish to call the service at a different endpoint than 
							is specified in the wsdl (e.g. for testing or tcpMon)
						<serviceURL>http://localhost:8081/axis2/services/StockTraderService</serviceURL>
					-->
				    </urls>
				    <serviceTimeout>60000</serviceTimeout>
					<serviceRetries>2</serviceRetries>
					<request action="getTransactions">
						<param name="lastTransactionTime" initValue="1" savedVarName="lastTime"/>
					</request>
					<mappingFile>stockTraderMappings.xml</mappingFile>
				</webservice>
				<workingDir>/tmp/adapter/soap</workingDir>
		<!-- 
				<proxy>
					<host></host>
					<port></port>
					<nonProxyHosts>localHost|127.0.0.1</nonProxyHosts>
				</proxy>
		-->
			</SOAPInputTransportParameters>
      </Parameters>
    </Module>
    
    <Module type="espconnector">
      <InstanceName>StockTraderServicePublisher</InstanceName>
      <Name>EspPublisher</Name>
      <Parameters>
        <EspPublisherParameters>
          <ProjectName>StockTraderProject</ProjectName>
          <StreamName>tradesIn</StreamName>
        </EspPublisherParameters>
      </Parameters>
    </Module>
  </Modules>
    
    <EspProjects>
      <EspProject>    
        <Name>StockTraderProject</Name>
        <Uri>esp://localhost:19011/w1/p1</Uri>
        <Security>
			<User></User>
			<Password></Password>
			<AuthType>user_password</AuthType>
<!--	
			<RSAKeyStore>/keystore/keystore.jks</espRSAKeyStore>
			<RSAKeyStorePassword></espRSAKeyStorePassword>
-->
<!--
			<KerberosKDC>KDC</espKerberosKDC>
			<KerberosRealm>REALM</espKerberosRealm>
			<KerberosService>service/instance</espKerberosService>
			<KerberosTicketCache>/tmp/krb5cc_user</espKerberosTicketCache>
-->
			<EncryptionAlgorithm>RSA</EncryptionAlgorithm>
		</Security>
      </EspProject>
    </EspProjects>
    <GlobalParameters></GlobalParameters>
</Adapter>

Here is a sample configuration file for an input adapter that uses Policy driven security and communicates over HTTPS.

<?xml version="1.0"?>

<Adapter>

  <Name>Example streaming input adapter</Name>
  <Description>This is an example SOAP input adapter.</Description>
  <Modules>
    <Module type="transporter">
      <InstanceName>StockTraderServiceTransporter</InstanceName>
      <Name>SOAPInputTransporter</Name>
      <Polling>
        <Enabled>true</Enabled>
        <TimeInterval>20000</TimeInterval>
      </Polling>
      <Next>StockTraderServicePublisher</Next>
      <Parameters>
			<SOAPInputTransportParameters>
				<webservice name="StockTraderService">
					<urls>
						<wsdlURL>https://localhost:8443/axis2/services/StockTraderService?wsdl</wsdlURL>
					<!--	the serviceURL is only required if you wish to call the service at a 
							different endpoint than is specified in the wsdl 
							(e.g. for testing or tcpMon)
					
						<serviceURL>http://localhost:8081/axis2/services/StockTraderService?wsdl</serviceURL>
					-->
				    </urls>
				    <serviceTimeout>60000</serviceTimeout>
					<serviceRetries>2</serviceRetries>
					<request action="getTransactions">
						<param name="lastTransactionTime" initValue="1" savedVarName="lastTime"/>
					</request>
					<mappingFile>stockTraderMappings.xml</mappingFile>
					<security>
                        <!-- The keystore is used to establish https connection with http server -->
						<sslTrustStore>server.jks</sslTrustStore>
						<sslTrustStorePassword></sslTrustStorePassword>

						<WSPolicy>
						  <credentials>
							<User>client</User>
					<!-- here the password is the pw for the client keystore -->
							<Password encrypted="false"></Password>
					<!--	
								<RSAKeyStore>/keystore/keystore.jks</espRSAKeyStore>
								<RSAKeyStorePassword></espRSAKeyStorePassword>
					-->
						  </credentials>
						  <policyClass>com.sap.esp.adapter.ws.security.MessageUTPolicy</policyClass>
						  <param name="policyPath" value="messageUT_policy.xml"/>
						  <param name="clientKeystore" value="client.jks"/>
						</WSPolicy>
					</security>
				</webservice>
				<workingDir>/tmp/adapter/soap</workingDir>
		<!-- 
				<proxy>
					<host></host>
					<port></port>
					<nonProxyHosts>localHost|127.0.0.1</nonProxyHosts>
				</proxy>
		-->
			</SOAPInputTransportParameters>
      </Parameters>
    </Module>
    
    <Module type="espconnector">
      <InstanceName>StockTraderServicePublisher</InstanceName>
      <Name>EspPublisher</Name>
      <Parameters>
        <EspPublisherParameters>
          <ProjectName>StockTraderProject</ProjectName>
          <StreamName>tradesIn</StreamName>
        </EspPublisherParameters>
      </Parameters>
    </Module>
  </Modules>
    
    <EspProjects>
      <EspProject>    
        <Name>StockTraderProject</Name>
        <Uri>esp://localhost:19011/w1/p1</Uri>
        <Security>
			<User></User>
			<Password></Password>
			<AuthType>user_password</AuthType>
<!--	
			<RSAKeyStore>/keystore/keystore.jks</espRSAKeyStore>
			<RSAKeyStorePassword></espRSAKeyStorePassword>
-->
<!--
			<KerberosKDC>KDC</espKerberosKDC>
			<KerberosRealm>REALM</espKerberosRealm>
			<KerberosService>service/instance</espKerberosService>
			<KerberosTicketCache>/tmp/krb5cc_user</espKerberosTicketCache>
-->
			<EncryptionAlgorithm>RSA</EncryptionAlgorithm>
		</Security>
      </EspProject>
    </EspProjects>
    <GlobalParameters></GlobalParameters>
</Adapter>

Here is a sample configuration file for an input adapter that uses transport level username/token security and communicates over HTTPS.

<?xml version="1.0"?>

<Adapter>

  <Name>Example streaming input adapter</Name>
  <Description>This is an example SOAP input adapter.</Description>
  <Modules>
    <Module type="transporter">
      <InstanceName>StockTraderServiceTransporter</InstanceName>
      <Name>SOAPInputTransporter</Name>
      <Polling>
        <Enabled>true</Enabled>
        <TimeInterval>20000</TimeInterval>
      </Polling>
      <Next>StockTraderServicePublisher</Next>
      <Parameters>
			<SOAPInputTransportParameters>
				<webservice name="StockTraderService">
					<urls>
						<wsdlURL>https://localhost:8443/axis2/services/StockTraderService?wsdl</wsdlURL>
					<!--	the serviceURL is only required if you wish to call the service at a different endpoint than 
							is specified in the wsdl (e.g. for testing or tcpMon)
						<serviceURL>http://localhost:8081/axis2/services/StockTraderService</serviceURL>
					-->
				    </urls>
				    <serviceTimeout>60000</serviceTimeout>
					<serviceRetries>2</serviceRetries>
					<request action="getTransactions">
						<param name="lastTransactionTime" initValue="1" savedVarName="lastTime"/>
					</request>
					<mappingFile>stockTraderMappings.xml</mappingFile>
					<security>
					    <!-- The keystore is used to establish https connection with http server -->
						<sslTrustStore>server.jks</sslTrustStore>
						<sslTrustStorePassword></sslTrustStorePassword>
						
						<TransportUsernameToken>
						  <credentials>
						    <!-- The user value should not be changed in this adapter example -->
							<User>sybase</User> 
							<!-- The password value shall match with the parameter "TransportUTPassword" in service.xml-->
							<Password encrypted="false"></Password>
					<!--	
							<RSAKeyStore>/keystore/keystore.jks</RSAKeyStore>
							<RSAKeyStorePassword></RSAKeyStorePassword>
					-->
							<EncryptionAlgorithm>RSA</EncryptionAlgorithm>
						  </credentials>
						</TransportUsernameToken>
					</security>
				</webservice>
				<workingDir>/tmp/adapter/soap</workingDir>
		<!-- 
				<proxy>
					<host></host>
					<port></port>
					<nonProxyHosts>localHost|127.0.0.1</nonProxyHosts>
				</proxy>
		-->
			</SOAPInputTransportParameters>
      </Parameters>
    </Module>
    
    <Module type="espconnector">
      <InstanceName>StockTraderServicePublisher</InstanceName>
      <Name>EspPublisher</Name>
      <Parameters>
        <EspPublisherParameters>
          <ProjectName>StockTraderProject</ProjectName>
          <StreamName>tradesIn</StreamName>
        </EspPublisherParameters>
      </Parameters>
    </Module>
  </Modules>
    
    <EspProjects>
      <EspProject>    
        <Name>StockTraderProject</Name>
        <Uri>esp://localhost:19011/w1/p1</Uri>
        <Security>
			<User></User>
			<Password></Password>
			<AuthType>user_password</AuthType>
<!--	
			<RSAKeyStore>/keystore/keystore.jks</espRSAKeyStore>
			<RSAKeyStorePassword></espRSAKeyStorePassword>
-->
<!--
			<KerberosKDC>KDC</espKerberosKDC>
			<KerberosRealm>REALM</espKerberosRealm>
			<KerberosService>service/instance</espKerberosService>
			<KerberosTicketCache>/tmp/krb5cc_user</espKerberosTicketCache>
-->
			<EncryptionAlgorithm>RSA</EncryptionAlgorithm>
		</Security>
      </EspProject>
    </EspProjects>
    <GlobalParameters></GlobalParameters>
</Adapter>