Done: https://wso2.org/jira/browse/DS-533 

 

Saludos,

Ing. Jorge Infante Osorio.

J´Dpto Soluciones SOA.

CDAE.

Fac. 5.

UCI.

 

De: Anjana Fernando [mailto:[email protected]] 
Enviado el: sábado, 10 de diciembre de 2011 22:41
Para: Jorge Infante Osorio
CC: [email protected]
Asunto: Re: XA Transactions

 

Hi Jorge,

The root cause here is this,

DS Fault Message: Setter method for property 'URL' cannot be found
DS Code: UNKNOWN_ERROR
      At
org.wso2.carbon.dataservices.

core.description.xa.XADataSourceInfo.initXA(XAD
ataSourceInfo.java:59)


Which means, the XADataSource property "URL" is not available. That means,
simply, there should be a setter named "setURL" in Postgres XADataSource
implementation. But as I just checked here [1], there's no such thing. Seems
this is a bug in our wizard, where we auto-populate some well known
properties like "URL", "username" and "password" properties. We've made an
assumption that all XADataSource implementations will contain those three
properties in any possible names like, some will have "user" and another
"username" and so on, we've made the presets like that, but obviously we got
it wrong with Postgres, where it doesn't really have the URL property in
anyway. So what we have to do is, we have to give the properties:
"serverName", "databaseName", "portNumber" as mentioned here [1], to get the
similar functionality. Normally you can add them from the XADataSource page
in the wizard, but because of the URL property, you will have to add these
from the XML edit view, and remove the URL property also.

And please create an issue for this in Carbon JIRA under data services UI
component. 

[1]
http://jdbc.postgresql.org/development/privateapi/org/postgresql/ds/common/B
aseDataSource.html#setServerName(java.lang.String)
<http://jdbc.postgresql.org/development/privateapi/org/postgresql/ds/common/
BaseDataSource.html#setServerName%28java.lang.String%29> 

Cheers,
Anjana.

On Sun, Dec 11, 2011 at 8:45 AM, Jorge Infante Osorio <[email protected]>
wrote:

Hi Anjana, thanks.

Tool: AS 4.1.2.

I follow your suggestion and create a DS with the postgreSQL driver
postgresql-9.0-801.jdbc4.jar , with this simple configuration:

<data name="transaccion1">
  <config id="rr">
     <property
name="org.wso2.ws.dataservice.xa_datasource_class">org.postgresql.xa.PGXADat
aSource</property>
     <property name="org.wso2.ws.dataservice.xa_datasource_properties">
        <property
name="URL">jdbc:postgresql://127.0.0.1:5432/pruebas</property>
        <property name="User">user</property>
        <property name="Password">pass</property>
     </property>
  </config>
  <query id="selecALL" useConfig="rr">
     <sql>select * from estudiantes</sql>
     <result element="estudiantes" rowName="estudiante"
defaultNamespace="http://estudiantes.cdae.uci.cu";>
        <element name="nombre" column="nombre" xsdType="xs:string" />
     </result>
  </query>
  <operation name="SeleccionarTodos">
     <call-query href="selecALL" />
  </operation>
</data>

Is the AS I see this error after deploy the DS in the UI console:

DS Fault Message: Cannot create XADataSource instance using the class:

org.postgresql.xa.PGXADataSource DS Code: UNKNOWN_ERROR Source DataService:-

Name: transaccion1 Location: \transaccion1.dbs Description: N/A
Default Namespace: http://ws.wso2.org/dataservice Nested Exception:- DSFault
Message: Setter method for property 'URL' cannot be found DS Code:
UNKNOWN_ERROR at
org.wso2.carbon.dataservices.core.description.xa.XADataSourceInfo.initXA(XAD
ataSourceInfo.java:59) at
org.wso2.carbon.dataservices.core.description.xa.XADataSourceInfo.(XADataSou
rceInfo.java:50) at
org.wso2.carbon.dataservices.core.description.config.RDBMSConfig.createXADat
aSourceInfo(RDBMSConfig.java:83) at
org.wso2.carbon.dataservices.core.description.config.RDBMSConfig.(RDBMSConfi
g.java:49) at
org.wso2.carbon.dataservices.core.description.config.ConfigFactory.getRDBMSC
onfig(ConfigFactory.java:74) at
org.wso2.carbon.dataservices.core.description.config.ConfigFactory.createCon
fig(ConfigFactory.java:52) at
org.wso2.carbon.dataservices.core.DataServiceFactory.createDataService(DataS
erviceFactory.java:151) at
org.wso2.carbon.dataservices.core.DBDeployer.createDBService(DBDeployer.java
:717) at
org.wso2.carbon.dataservices.core.DBDeployer.processService(DBDeployer.java:
1068) at
org.wso2.carbon.dataservices.core.DBDeployer.deploy(DBDeployer.java:175) at
org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(Deploy
mentFileData.java:136) at
org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:
813) at
org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.jav
a:144) at
org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.jav
a:371) at
org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListe
ner.java:254) at
org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListe
ner.java:365) at
org.apache.axis2.deployment.scheduler.SchedulerTask.checkRepository(Schedule
rTask.java:73) at
org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask.java:9
4) at
org.apache.axis2.deployment.scheduler.Scheduler$SchedulerTimerTask.run(Sched
uler.java:93) at java.util.TimerThread.mainLoop(Timer.java:512) at
java.util.TimerThread.run(Timer.java:462) Caused by: DS Fault Message:
Setter method for property 'URL' cannot be found DS Code: UNKNOWN_ERROR at
org.wso2.carbon.dataservices.core.description.xa.XADataSourceInfo.assignProp
s(XADataSourceInfo.java:70) at
org.wso2.carbon.dataservices.core.description.xa.XADataSourceInfo.initXA(XAD
ataSourceInfo.java:57) ... 20 more


In the AS console I have this:

[2011-12-10 11:44:58,294]  INFO
{org.apache.axis2.deployment.DeploymentEngine}

-org.apache.axis2.deployment.DeploymentException: The transaccion1.dbs

service, which is not valid, caused {1}
[2011-12-10 11:48:38,232] ERROR
{org.wso2.carbon.dataservices.core.DBDeployer} -  The transaccion1.dbs
service, which is not valid, caused {1}
DS Fault Message: Cannot create XADataSource instance using the class:
org.postgresql.xa.PGXADataSource
DS Code: UNKNOWN_ERROR
Source Data Service:-
Name: transaccion1
Location: \transaccion1.dbs
Description: N/A
Default Namespace: http://ws.wso2.org/dataservice
Nested Exception:-
DS Fault Message: Setter method for property 'URL' cannot be found
DS Code: UNKNOWN_ERROR
      At
org.wso2.carbon.dataservices.core.description.xa.XADataSourceInfo.initXA(XAD
ataSourceInfo.java:59)
       at
org.wso2.carbon.dataservices.core.description.xa.XADataSourceInfo.<init>(XAD
ataSourceInfo.java:50)
       at
org.wso2.carbon.dataservices.core.description.config.RDBMSConfig.createXADat
aSourceInfo(RDBMSConfig.java:83)
       at
org.wso2.carbon.dataservices.core.description.config.RDBMSConfig.<init>(RDBM
SConfig.java:49)
       at
org.wso2.carbon.dataservices.core.description.config.ConfigFactory.getRDBMSC
onfig(ConfigFactory.java:74)
       at
org.wso2.carbon.dataservices.core.description.config.ConfigFactory.createCon
fig(ConfigFactory.java:52)
       at
org.wso2.carbon.dataservices.core.DataServiceFactory.createDataService(DataS
erviceFactory.java:151)
       at
org.wso2.carbon.dataservices.core.DBDeployer.createDBService(DBDeployer.java
:717)
       at
org.wso2.carbon.dataservices.core.DBDeployer.processService(DBDeployer.java:
1068)
       at
org.wso2.carbon.dataservices.core.DBDeployer.deploy(DBDeployer.java:175)
       at
org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(Deploy
mentFileData.java:136)
       at
org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:
813)
       at
org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.jav
a:144)
       at
org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.jav
a:371)
       at
org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListe
ner.java:254)
       at
org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListe
ner.java:365)
       at
org.apache.axis2.deployment.scheduler.SchedulerTask.checkRepository(Schedule
rTask.java:73)
       at
org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask.java:9
4)
       at
org.apache.axis2.deployment.scheduler.Scheduler$SchedulerTimerTask.run(Sched
uler.java:93)
       at java.util.TimerThread.mainLoop(Timer.java:512)
       at java.util.TimerThread.run(Timer.java:462)
Caused by: DS Fault Message: Setter method for property 'URL' cannot be
found
DS Code: UNKNOWN_ERROR

       At
org.wso2.carbon.dataservices.core.description.xa.XADataSourceInfo.assignProp
s(XADataSourceInfo.java:70)
       at
org.wso2.carbon.dataservices.core.description.xa.XADataSourceInfo.initXA(XAD
ataSourceInfo.java:57)
       ... 20 more



Any idea?


Saludos,
Ing. Jorge Infante Osorio.
J´Dpto Soluciones SOA.
CDAE.
Fac. 5.
UCI.
De: Anjana Fernando [mailto:[email protected]]
Enviado el: sábado, 10 de diciembre de 2011 7:17
Para: Jorge Infante Osorio
Asunto: Re: XA Transactions

Hi Jorge,

You have to create the XADataSources from DSS. There in the data sources
page, you can select the type a XA data source and create it.

Cheers,
Anjana.
2011/12/10 Jorge Infante Osorio <[email protected]>
Hi Anjana.
About your post: XA Transactions with Apache DBCP

Where I need to put the XADataSource in carbon framework?
Can you provide me an example of this config?

Thanks,
Saludos,
Ing. Jorge Infante Osorio.
J´Dpto Soluciones SOA.
CDAE.
Fac. 5.
UCI.
--
Anjana Fernando
Senior Software Engineer
WSO2 Inc. | http://wso2.com
lean . enterprise . middleware



Fin a la injusticia, LIBERTAD AHORA A NUESTROS CINCO COMPATRIOTAS QUE SE
ENCUENTRAN INJUSTAMENTE EN PRISIONES DE LOS EEUU!
http://www.antiterroristas.cu
http://justiciaparaloscinco.wordpress.com




-- 
Anjana Fernando
Senior Software Engineer

WSO2 Inc. | http://wso2.com <http://wso2.com/> 

lean . enterprise . middleware




Fin a la injusticia, LIBERTAD AHORA A NUESTROS CINCO COMPATRIOTAS QUE SE 
ENCUENTRAN INJUSTAMENTE EN PRISIONES DE LOS EEUU!
http://www.antiterroristas.cu
http://justiciaparaloscinco.wordpress.com

_______________________________________________
Carbon-dev mailing list
[email protected]
http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to