cancel
Showing results for 
Search instead for 
Did you mean: 

soap axis adapter handlers development ?

Former Member
0 Kudos

Hi Guys,

I have configured successfully the soap receiver axis adapter. I am using the option NTLM authentication, user id and pw, HTTPS url.

I see 5 modules by default in the module tab. My scenario is Proxy-BPM-SOAP. Do i need to develop 2 handlers to handle the synchronus scenario ?

How to start with this development ?

any help would be appreciated

Thanks,

Srini

Accepted Solutions (0)

Answers (4)

Answers (4)

former_member499364
Participant
0 Kudos

why to use com.sap.aii.adapter.axis.ra.transport.http.CommonsHTTPSender?

Former Member
0 Kudos

Hi,

Have somebody developed a custom module using Axis? I need to modify the soap envelope, and I didn't found how to develope this, can anyone help me?

Best regards.

stefan_grube
Active Contributor
0 Kudos

Have you already succeeded?

I think you do not need to write an own handler. You can replace the standard HTTPSender

by com.sap.aii.adapter.axis.ra.transport.http.CommonsHTTPSender.

See here a note from online help:

"If you are using the handler com.sap.aii.adapter.axis.ra.transport.http.CommonsHTTPSender, the commons-httpclient of Apache Commons HTTP Client must be contained in axisproviderlib."

http://help.sap.com/saphelp_nw04/helpdata/en/45/a3c48c87cd0039e10000000a11466f/frameset.htm

Regards

Stefan

ravi_raman2
Active Contributor
0 Kudos

Srinivas,

Please see code below for handler development...

public class AxisHandler implements SessionBean, Module {

private SessionContext myContext;

In here...create you security header...so finally when this method is done..it should take your entire message ..add the ntlm security to it..and pass it outward...Hope that helps..

SOAPEnvelope unsignedEnvelope = message.getSOAPEnvelope();

Document doc = unsignedEnvelope.getAsDocument();

WSSecHeader secHeader = new WSSecHeader();

secHeader.insertSecurityHeader(doc);

WSSecSecurityContextToken sctBuilder = new WSSecSecurityContextToken();

sctBuilder.prepare(doc, crypto);

sctBuilder.prependSCTElementToHeader(doc, secHeader);

String out = org.apache.ws.security.util.XMLUtils

.PrettyDocumentToString(doc);

Regards

Ravi Raman

Former Member
0 Kudos

Hi Ravi,

Thanks for the quick reply and really very helpful code with which i can start with.

I will update the thread with the results

Thanks,

Srini

ravi_raman2
Active Contributor
0 Kudos

Srinivas,

You only need to write one handler.and deploy that sda.......that should be it...

Regards

Ravi Raman

Former Member
0 Kudos

Hi Ravi,

Thanks for the reply and do i need to add the manifest file and other files for the sda file ?

Thanks,

Srini

ravi_raman2
Active Contributor
0 Kudos

Some more info..

http://ws.apache.org/juddi/apidocs/org/apache/juddi/transport/axis/AxisHandler.html

http://egovlabs.gv.at/plugins/scmsvn/viewcvs.php/checkout/trunk/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/AxisHandler.html?rev=2&root=moa-idspss

ravi_raman2
Active Contributor
0 Kudos

manifest yes..its a must for all archive`s..

Former Member
0 Kudos

Hi Srini,

I don't want to be impolite. but I can't see someone posting a total nonsense that can mislead the readers.

So please ignore Ravi's post on this thread.

The axis handlers have nothing to do with the adapter module. So, you don't write an axis handler to implement SessionBean nor Module. If you follow his instruction, you will just get an adapter module that calls itself AxisHandler. Furthermore, I don't know why he later suddenly refers to juddi's axis handler. This is indeed an axis handler but I see no use of it here. If Ravi disagrees with me, he is welcome to correct my judgement.

Going back to your original question, what do you exactly need to do or what do you want to modify in the SOAP envelope?

Depending on your answer, I can suggest you several options.

Regards, Yza