Chhotisiaasha's Blog

Archive for the ‘WebServices with AXIS and WEBSphere Deployment’ Category

RAD Configuration settings for webservice

(assumed PXS and OAO webservice (or any other web service) files are existing.)

1>     Remove all files under com.xyz.aha.otherholdings.webservice.

2>     Replace following files under WEB-INF.

AccountertPortfolioServicexyz.wsdl

AccountPortfolioSchemaxyz.xsd

getHoldingDetailsxyz.xsd

getAccountInfoxyz.xsd

getMarketValuexyz.xsd

getBalancexyz.xsd

getDailyAssetChgInValxyz.xsd

getRealTimeCashBalancexyz.xsd

PXSCommonxyz.xsd

In all above files change ../PXSCommonxyz.xsd to PXSCommonxyz.xsd

this may include any other file provided by webservice provider.

3>     Right click AccountPortfolioServicexyz.wsdl > Web Services > GenerateClient

a>Check Service definiation has wsdl path

b>Client type: Java Proxy

c> Click on Configuration >web service runtime:IBM WebSphere JAX-WS

See that Web Serivce runtime:IBM Websphere JAX-WS is selected

See that required server is selected

d>Click Next

e>For PXS client Select Target package as com.xyz.aha.otherholdings.webservice

f>select Generate portable client check box

g>Click Finish.

This should generate required stubs.

Note: You can edit the WS url in the wsdls

Last week I was working on deploying  my axis webservice on WebSphere 6.1 server for the first time. Till now they were using websphere 5.1, but we needed to move the extended service to Websphere 6.1 . Some JDBC datasources Websphere V4 were existing on  the new server, may be for some other application, not sure.

When I installed my application, I got following exception.

Exception thrown [com.ibm.websphere.naming.CannotInstantiateObjectException] Msg[Exception occurred while the JNDI NamingManager was processing a javax.naming.Reference object.] RootCauseExcp[javax.naming.NamingException] RootCauseMsg[Attempted to use a 4.0 DataSource from a 2.3 (or higher) servlet. Invalid configuration.] RootCauseToString[javax.naming.NamingException: Attempted to use a 4.0 DataSource from a 2.3 (or higher) servlet. Invalid configuration.]
faultActor: null
faultDetail:
stackTrace: AxisFault

To resolve this I had to create WebSphere V5 datasources and had to delete the earlier V 4 datasources then only it could recognize the V5 datasources. It seems, but default it was looking for some V4 datasources. While creating V5 datasources, I read from IBM docs, that I will also need to create some J2C authentication alias, to supply for the dasources. I created it, and as per the documentation, it was preceded by some node name. This resolved the problem and I was able to successfully access the database, but still need to understand why it pick a different node name than one on which I installed application.