Wednesday, May 14, 2014

Using Deployment Configuration Plan to change location for locally imported WSDL

There few software product available in market which exposes various functionalities as web service, however while directly providing that WSDL url in Web service adapter is not working. This requires you to import that concrete wsdl file in your local SOA Project and use that WSDL file to create WS Adapter to call the Service. However there other approaches are also there where you use Abstract WSDL file during design time and replace the binding during runtime. But here this post include detail only related replacing the binding details in locally stored concrete WSDL file.

While moving this application from one environment (dev) to other (test), you need to change the Service location which is available in local WSDL file so that web service can be called on correct environment.

Here are the steps you need follow to create a configuration plan which does that job at the time of deployment for you. Here we are assuming that you have you composite application already available where you have imported one concrete wsdl file and you have used it to create web service adapter.

In Application Navigator, go to your composite.xml file. Right click and generate configuration plan.

In Generated Configuration plan find the below entry.
<reference name="ExternalService">
         <!--Add search and replace rules for the binding properties-->
         <binding type="ws">
            <attribute name="port">
               <replace>http://www.abc123.com/update/#wsdl.endpoint(Update/UpdateSoap)</replace>
            </attribute>
            <attribute name="location">
               <replace>ExternalService.wsdl</replace>
            </attribute>
            <property name="weblogic.wsee.wsat.transaction.flowOption">
               <replace>WSDLDriven</replace>
            </property>
         </binding>
      </reference>
Update the location attribute value with actual corresponding url applicable for target environment.. Updated values are highlighted in bold.

<reference name="ExternalService">
         <!--Add search and replace rules for the binding properties-->
         <binding type="ws">
            <attribute name="port">
               <replace>http://www.abc123.com/update/#wsdl.endpoint(Update/UpdateSoap)</replace>
            </attribute>
            <attribute name="location">
               <replace>http://somehostname:8001/someServiceurl?WSDL</replace>
            </attribute>
            <property name="weblogic.wsee.wsat.transaction.flowOption">
               <replace>WSDLDriven</replace>
            </property>
         </binding>
      </reference>

Deploy the code to server using the created configuration plan and values for the service will be modified as per the config plan.

Thursday, February 6, 2014

Configure Boot Identity / boot.properties file for Weblogic Managed Server Start

On Fresh installation of Weblogic,While starting the managed Servers for the first time it will ask for the username / password.  To avoid entering username and password on every restart of WebLogic Managed Server, store the boot identity in boot.properties file. After storing username and password to this file, it will automatically pick the details from this file and start the managed server without prompting for username/password.

Below are steps to be completed to configure username/password in boot.properties file.

1.  Brows to Middleware/user_projects/domains/soa_domain/servers/soa_server1/security

2. edit boot.properties file

 Unix : vi boot.properties

3. Add following entries into boot.properties file & save the file.

username:weblogic
password:password1

4. Now Start the Managed Server using below command & it will not prompt for username/password.

./startManagedWebLogic.sh soa_server1 http://127.0.0.1:7001

5. Again browse to boot.properties file at
Middleware/user_projects/domains/soa_domain/servers/soa_server1/security. Now while looking at the content of boot.properites file you will find the username and password is automatically encrypted for security.

Note : if you do not find security folder to place this file. Just create the folder and paste the boot.properties file there.