Search code examples
ws-discoverywso2

How can I access the parameters of a service on a Carbon server in plain txt


What I've done is broken the default 'Version' service on my WSO2 DSS, I tried to set the Scopes variable for WS-Discovery and didn't put a closing tag/element when creating the parameter.
Now when I try to access the parameters screen I get an xml Parse error

TID: [0] [WSO2 Data Services Server] [2012-08-22 12:38:04,404] ERROR {org.wso2.carbon.service.mgt.ServiceAdmin} - Error occured while getting parameters of service : Version {org.wso2.carbon.service.mgt.ServiceAdmin}org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '<' (code 60) in end tag Expected '>'. at [row,col {unknown-source}]: [2,58] at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:296) at

I'm assuming this is stored in the H2 database, I've tried looking for the parameter in the .db file using notepad but I can't find it. Is there another way to connect/browse the H2 db? I've scanned through the repository, database and conf directories for clues without success.

UPDATE: Yes you can connect to the H2 db using the included database Explorer under the Tools menu.
Use the connection details found in the repository/conf/registry.xml file
Then you can do SQL queries on it - (I haven't found the answer yet though)

UPDATE 2: I don't think the parameters are held in the H2 db, but I managed to fix my problem by:

  1. downloading the Version.aar file using the link on the list services page
  2. deleting the Version service
  3. Copying the Version.aar file into the repository/deployment/server/axis2services dir

I guess deleting the service removed any records/references to my broken parameter


Solution

  • I believe you've tried setting service parameters via the UI? Usually the service parameters you specify via the UI do not get saved in the services.xml of the original axis2 service archive. Instead, they get saved in the registry that is shipped with DSS and get applied to the service at runtime. But if you specify a malformed parameter then wouldn't be saved in the registry instead, throwing an exception while trying to engage that parameter. So there'll be no record saved corresponding to that kind of malformed parameters.

    Hope this helps!

    Cheers, Prabath