Skip to Main Content

Java Programming

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

WS-SECURITY - UsernameToken Authentication with Rampart

807607Oct 10 2006 — edited Oct 10 2006
i am using UsernameToken for authentication.

client side i have axis-repo directory contains conf and modules. Modules contains rampart-snapshot.jar and conf contains axis2.xml.

The server side usig Tomcat. i have deployed aar file in services, axis2.xml in conf , rampart-snapshot.jar in modules.


while running client program i got the following error.

Oct 10, 2006 1:39:42 PM org.apache.axis2.deployment.DeploymentEngine prepareRepo
sitory
INFO: no services directory found , new one created
Oct 10, 2006 1:39:42 PM org.apache.axis2.deployment.DeploymentEngine doDeploy
INFO: Deploying module : addressing-1.0
Oct 10, 2006 1:39:42 PM org.apache.axis2.deployment.DeploymentEngine doDeploy
INFO: Deploying module : rampart
The ENV is : <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soap
env="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header /><soapenv:Body>
<SPRL><SIGNONMSGSRQV1><SONRQ><DTCLIENT>20060829 14:30:30</DTCLIENT><LANGUAGE>ENG
</LANGUAGE><APPID>DNBIDLDM9345</APPID><APPVER>0100</APPVER></SONRQ></SIGNONMSGSR
QV1><PRODREQMSGSV1><PRODREQTRN><TRNUID>DNBIDLDM9345_20060829143030</TRNUID><PROD
REQMSG><CUST><CUST_ID_INFO><CUST_ID_TYP_CD>13804</CUST_ID_TYP_CD><CUST_ID>100150
009</CUST_ID></CUST_ID_INFO><CUST_CTRY_ID>850</CUST_CTRY_ID><PRMY_LANG_CD>ENG</P
RMY_LANG_CD></CUST><PROD_ORDR_CTRL><SUBJ_ID_INFO><DUNS_NBR>001368083</DUNS_NBR><
PROD_SPEC_DET><PROD_TYP_CD>11591</PROD_TYP_CD><PROD_TRAN_TYP_CD>13647</PROD_TRAN
TYPCD><CHLD_LNKG_LVL_MAX_QTY>1</CHLD_LNKG_LVL_MAX_QTY><CHLD_LNKG_SPEC><CHLD_LN
KG_SPEC><ASSN_TYPE_CD>xxx</ASSN_TYPE_CD><CHLD_LNKG_MAX_QTY>10</CHLD_LNKG_MAX_QTY
</CHLD_LNKG_SPEC><CHLD_LNKG_SPEC><ASSN_TYPE_CD>yyy</ASSN_TYPE_CD><CHLD_LNKG_MAX
QTY>10</CHLDLNKG_MAX_QTY></CHLD_LNKG_SPEC><CHLD_LNKG_SPEC><ASSN_TYPE_CD>zzz</A
SSN_TYPE_CD><CHLD_LNKG_MAX_QTY>10</CHLD_LNKG_MAX_QTY></CHLD_LNKG_SPEC></CHLD_LNK
G_SPEC></PROD_SPEC_DET></SUBJ_ID_INFO></PROD_ORDR_CTRL></PRODREQMSG></PRODREQTRN
</PRODREQMSGSV1></SPRL></soapenv:Body></soapenv:Envelope>
********************************************************************************

Oct 10, 2006 1:39:42 PM org.apache.axiom.om.impl.llom.OMSourcedElementImpl force
Expand
SEVERE: OMSourcedElementImpl.forceExpand: error parsing data soruce document for
element SPRL
com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
at [row,col {unknown-source}]: [1,0]
at com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOF(StreamScanner.java:5
02)
at com.ctc.wstx.sr.WstxStreamReader.handleEOF(WstxStreamReader.java:2034
)
at com.ctc.wstx.sr.WstxStreamReader.nextFromProlog(WstxStreamReader.java
:1952)
at com.ctc.wstx.sr.WstxStreamReader.next(WstxStreamReader.java:993)
at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.forceExpand(OMSour
cedElementImpl.java:111)
at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.getAllDeclaredName
spaces(OMSourcedElementImpl.java:210)
at org.apache.axiom.om.impl.llom.OMStAXWrapper.getNamespaceCount(OMStAXW
rapper.java:457)
at org.apache.axiom.om.impl.builder.StAXOMBuilder.processNamespaceData(S
tAXOMBuilder.java:336)
at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.processNamesp
aceData(StAXSOAPModelBuilder.java:386)
at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.constructNode
(StAXSOAPModelBuilder.java:320)
at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createOMEleme
nt(StAXSOAPModelBuilder.java:182)
at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.jav
a:132)
at org.apache.axiom.om.impl.dom.NodeImpl.build(NodeImpl.java:468)
at org.apache.axiom.om.impl.dom.DocumentImpl.build(DocumentImpl.java:458
)
at org.apache.rampart.util.Axis2Util.getDocumentFromSOAPEnvelope(Axis2Ut
il.java:112)
at DailyLinkageServiceStub.processRequest(DailyLinkageServiceStub.java:1
45)
at DailyLinkageServiceTest.testprocessRequest(DailyLinkageServiceTest.ja
va:79)
at DailyLinkageServiceTest.main(DailyLinkageServiceTest.java:99)
org.apache.ws.security.WSSecurityException: Error in converting SOAP Envelope to
Document; nested exception is:
org.apache.axiom.om.OMException: java.lang.RuntimeException: Error parsi
ng data source document:Unexpected EOF in prolog
at [row,col {unknown-source}]: [1,0]
at org.apache.rampart.util.Axis2Util.getDocumentFromSOAPEnvelope(Axis2Ut
il.java:126)
at DailyLinkageServiceStub.processRequest(DailyLinkageServiceStub.java:1
45)
at DailyLinkageServiceTest.testprocessRequest(DailyLinkageServiceTest.ja
va:79)
at DailyLinkageServiceTest.main(DailyLinkageServiceTest.java:99)
Caused by: org.apache.axiom.om.OMException: java.lang.RuntimeException: Error pa
rsing data source document:Unexpected EOF in prolog
at [row,col {unknown-source}]: [1,0]
at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.jav
a:206)
at org.apache.axiom.om.impl.dom.NodeImpl.build(NodeImpl.java:468)
at org.apache.axiom.om.impl.dom.DocumentImpl.build(DocumentImpl.java:458
)
at org.apache.rampart.util.Axis2Util.getDocumentFromSOAPEnvelope(Axis2Ut
il.java:112)
... 3 more
Caused by: java.lang.RuntimeException: Error parsing data source document:Unexpe
cted EOF in prolog
at [row,col {unknown-source}]: [1,0]
at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.forceExpand(OMSour
cedElementImpl.java:115)
at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.getAllDeclaredName
spaces(OMSourcedElementImpl.java:210)
at org.apache.axiom.om.impl.llom.OMStAXWrapper.getNamespaceCount(OMStAXW
rapper.java:457)
at org.apache.axiom.om.impl.builder.StAXOMBuilder.processNamespaceData(S
tAXOMBuilder.java:336)
at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.processNamesp
aceData(StAXSOAPModelBuilder.java:386)
at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.constructNode
(StAXSOAPModelBuilder.java:320)
at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createOMEleme
nt(StAXSOAPModelBuilder.java:182)
at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.jav
a:132)
... 6 more

The client program

import java.util.ArrayList;
import java.util.Date;

import com.dnb.dlws.binding.ChildLinkSpecVO;
import com.dnb.dlws.binding.SignOnRequestVO;
import com.dnb.dlws.util.XMLBinder;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.ConfigurationContextFactory;




/*
* DailyLinkageServiceTest Junit test case
*/
public class DailyLinkageServiceTest extends junit.framework.TestCase {
/**
* Auto generated test method
*/

// GetFamilyTreeRequestVO param16 = new GetFamilyTreeRequestVO();
SignOnRequestVO signOnMsgReq1 = new SignOnRequestVO();
ChildLinkSpecVO childlink = new ChildLinkSpecVO();
ChildLinkSpecVO childlink1 = new ChildLinkSpecVO();
ChildLinkSpecVO childlink2 = new ChildLinkSpecVO();
ArrayList child = new ArrayList();

public void testprocessRequest() throws java.lang.Exception {

String setpath = "D:/DLDM_WebService/with WS-Security/client/axis-repo";


ConfigurationContext configContext = ConfigurationContextFactory.createConfigurationContextFromFileSystem(setpath, setpath+"/conf/client.axis2.xml");

// ConfigurationContext configContext = ConfigurationContextFactory.createConfigurationContextFromFileSystem("axis-repo", null);

//DailyLinkageServiceStub stub = new DailyLinkageServiceStub(); //the default implementation should point to the right endpoint
DailyLinkageServiceStub stub = new DailyLinkageServiceStub(configContext,"http://localhost:8888/axis2/services/DailyLinkageService"); //the default implementation should point to the right endpoint

com.dnb.dlws.binding.GetFamilyTreeRequestVO param16 = (com.dnb.dlws.binding.GetFamilyTreeRequestVO) getTestObject(com.dnb.dlws.binding.GetFamilyTreeRequestVO.class);

signOnMsgReq1.setDtClient("20060829 14:30:30");
signOnMsgReq1.setLanguage("ENG");
signOnMsgReq1.setAppId("DNBIDLDM9345");
signOnMsgReq1.setAppVer("0100");
param16.setSignOnMsgReq(signOnMsgReq1);
param16.setTrnUid("DNBIDLDM9345_20060829143030");
param16.setCustIdTypCd("13804");
param16.setCustId("100150009");
param16.setCustCtryId("850");
param16.setPrmyLangCd("ENG");
param16.setDunsNbr("001368083");
param16.setProdTypCd("11591");
param16.setProdTranTypCd("13647");
param16.setChldLnkgLvlMaxQty("1");
childlink.setAssnTypeCd("xxx");
childlink.setChldLnkgMaxQty("10");
childlink1.setAssnTypeCd("yyy");
childlink1.setChldLnkgMaxQty("10");
childlink2.setAssnTypeCd("zzz");
childlink2.setChldLnkgMaxQty("10");
child.add(childlink);
child.add(childlink1);
child.add(childlink2);
param16.setChildLinkSpecvo(child);
long start_time = new Date().getTime();


com.dnb.dlws.binding.GetFamilyTreeResponseVO responseVO = stub.processRequest(param16);
long end_time = new Date().getTime();

String testXP = XMLBinder.convertObjectToXML(responseVO);
System.out.println("response" + testXP);
long response_time = end_time - start_time;

//System.out.println(responseVO.getDUNSNumber());
}

// create the desired object and provide it as the test object
public java.lang.Object getTestObject(java.lang.Class type)
throws Exception {
return type.newInstance();
}

public static void main(String[] args) {
DailyLinkageServiceTest dailyLinkageServiceTest = new DailyLinkageServiceTest();

try {
dailyLinkageServiceTest.testprocessRequest();
} catch (Exception e) {
e.printStackTrace();
}
}
}

the callback class
-------------------------

import org.apache.ws.security.WSPasswordCallback;

import javax.security.auth.callback.Callback;
import javax.security.auth.callback.CallbackHandler;
import javax.security.auth.callback.UnsupportedCallbackException;

import java.io.IOException;

public class PWCBHandler implements CallbackHandler {

public void handle(Callback[] callbacks) throws IOException,
UnsupportedCallbackException {
for (int i = 0; i < callbacks.length; i++) {
WSPasswordCallback pwcb = (WSPasswordCallback)callbacks;
String id = pwcb.getIdentifer();
if("bob".equals(id)) {
pwcb.setPassword("bobPW");
}
}
}

}
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Nov 7 2006
Added on Oct 10 2006
2 comments
762 views