[jboss-user] [JBossWS] - endPoint and SOAP headers, how to work this?

camateusno do-not-reply at jboss.com
Wed Nov 28 14:25:45 EST 2007


Hi all, Im have a problem with SOAP headers, because i dont know how see it in endpoint. Explain:

first im consume de webservice, and i see this and more:
a class SEI: QMWISeSoap
a class that provide constructors: ObjectFactory

The server requires two soap headers, these are build by ObjectFactory, and return a object JAXBElement:
/**
* Create an instance of {@link JAXBElement }{@code <}{@link TrustHeader }{@code >}}
*
*/
@XmlElementDecl(namespace = "http://questionmark.com/QMWISe/", name = "Trust")
public JAXBElement createTrust(TrustHeader value) {
return new JAXBElement(_Trust_QNAME, TrustHeader.class, null, value);
}

Now, in a class QMWISeWebService is the call to SEI:
protected QMWISeWebService() {
try {
if (endPoint == null){
endPoint = new QMWISe().getQMWISeSoap();
}
} catch (Exception ex) {
ex.printStackTrace();
}

And by example i have a class that inherit from QMWISeWebService :

public class ParticipantData extends QMWISeWebService {

/**
* This method processes a Participant Name and a Password and checks
* whether there is a participant with the Participant Name, and if so
* whether the Password is theirs.
*
* @param participantID
* @param password
* @param status
* @param participantName
*/
public void checkParticipant(String participantName, String password,
Holder status, Holder participantID) {
endPoint.checkParticipant(participantName, password, status,
participantID);
}

The problem is that i dont know how connect the JAXBElement returned by ObjectFactory with the SEI class.

Part of SEI class is:

@WebService(name = "QMWISeSoap", targetNamespace = "http://questionmark.com/QMWISe/")
public interface QMWISeSoap {


/**
* This method provides information about the QMWISe software that is installed, including the version of the software that is installed, which build of the software is installed and a statement of Question Mark's rights under the license agreement.
*
* @return
* returns com.questionmark.qmwise.Version
*/
@WebMethod(operationName = "GetAbout", action = "http://questionmark.com/QMWISe/GetAbout")
@WebResult(name = "GetAboutResult", targetNamespace = "http://questionmark.com/QMWISe/")
@RequestWrapper(localName = "GetAbout", targetNamespace = "http://questionmark.com/QMWISe/", className = "com.questionmark.qmwise.GetAbout")
@ResponseWrapper(localName = "GetAboutResponse", targetNamespace = "http://questionmark.com/QMWISe/", className = "com.questionmark.qmwise.GetAboutResponse")
public Version getAbout();

And none method of SEI have a parameter that contain data for the SOAP header.

perhaps this is a trivial problem, but im need help. thanks.

What is the mechanism?, the objectFactory provide the JAXBElement, and what to do with that?, What can I do so that the information finally reaches the envelope of soap?, thanks in advance.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4108655#4108655

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4108655



More information about the jboss-user mailing list