[ 
http://issues.apache.org/jira/browse/AXIS2-1717?page=comments#action_12450319 ] 
            
Michael Moser commented on AXIS2-1717:
--------------------------------------

Test-Example - taken from the tutorial 
http://www-128.ibm.com/developerworks/edu/ws-dw-ws-understand-web-services1.html

Test-client:
---------------

package tutorials.webservices.clients;

import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMNamespace;

/**
 * Sample for fire-and-forget service invocation
 * Message Exchage Pattern IN-Only
 */
public class AddArticleClient
{
        private static EndpointReference targetEPR = 
                new 
EndpointReference("http://localhost:8080/axis2/services/CMSService";);

        public static OMElement getOMElement() {
                SOAPFactory fac  = OMAbstractFactory.getSOAP12Factory();
                OMNamespace omNs = 
fac.createOMNamespace("http://daily-moon.com/cms";, "cms");
                
                OMElement method = fac.createOMElement("addArticle", omNs);
                OMElement category = fac.createOMElement("category", omNs);
                category.setText("classifieds");

                OMElement subcategory = fac.createOMElement("subcategory", 
omNs);
                subcategory.setText("wantads");

                OMElement adtext = fac.createOMElement("article", omNs);
                adtext.setText("Do you have good head for numbers and a great 
deal of patience? " 
                               + "Do you like to sit for hours sorting objects 
by their size? " 
                               + "If so, then you could be the next goober 
counter in the world "
                               + "famous Murphy Brothers peanut factory. "
                               + "Willingness to dress up as our mascot 
helpful, but not required.");

                method.addChild(category);
                method.addChild(subcategory);
                method.addChild(adtext);

                return method;

        }

        public static void main(String[] args) {
                try {
                        OMElement payload = AddArticleClient.getOMElement();
                        
                        Options options = new Options();
                        options.setTo(targetEPR);
                        // 
options.setTransportInProtocol(?Constants.TRANSPORT_HTTP);

                        ServiceClient serviceClient = new ServiceClient();
                        serviceClient.setOptions(options);

                        System.out.println("PAYLOAD:");
                        System.out.println(payload.toString());

                        serviceClient.fireAndForget(payload);

                        System.out.println("SENT.");
                        // give the library time to execute the send-thread and 
actually send out the request:
                        try { Thread.sleep(3000); } catch (InterruptedException 
ex) { /*ignore*/ }
                        
                } catch (AxisFault axisFault) {
                        axisFault.printStackTrace();
                }
        }

}

Test-Service:
-----------------

package tutorials.webservices.cms;

import org.apache.axiom.om.OMElement;

public class CMSService
{
    public void addArticle(OMElement element) /*throws XMLStreamException*/ {
                System.out.println("received: addArticle");
                element.build();
                System.out.println(element);
                System.out.println("done: addArticle");
        }
}


service.xml:
----------------
<service name="CMSService">
    <description>
        This is a sample Web Service for the newspaper's Content Managment 
System.
    </description>
    <parameter name="ServiceClass" 
locked="false">tutorials.webservices.cms.CMSService</parameter>
    <operation name="addArticle">
        <messageReceiver 
class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
    </operation>
</service>



> Client API has no shutdown method that waits until all buffered requests are 
> sent
> ---------------------------------------------------------------------------------
>
>                 Key: AXIS2-1717
>                 URL: http://issues.apache.org/jira/browse/AXIS2-1717
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Improvement
>          Components: client-api
>    Affects Versions: 1.1
>            Reporter: Michael Moser
>
> On Tue, 2006-11-14 at 15:52 +0100, Michael Moser wrote:
> > I just ran into some problem with fireAndForget(...)-requests. These
> > obviously get buffered inside AxisEngine. Thus, if the application
> > terminates immediately after posting the last request(s) these request
> > get never sent.
> >
> > I stumbled over this, when experimenting with a command line code
> > snippet that uses the axis2 library to generate and send out SOAP
> > requests. I first couldn't understand why these requests had no effect.
> > After some digging I found out that these request were never received.
> > After some further digging I realized they weren't even sent out in the
> > first place. And after even more digging I finally realized, what was
> > going wrong here...
> > 
> > Is there some shutdown method or such in that library? I searched but
> > found nothing so far...
> Hmmmm .. I think you're right; we're missing a way to say "please wait
> to finish all pending stuff and then shutdown." I thought that
> ServiceClient.finalize() had that behavior but it doesn't. In any case,
> that's not enough because this has to span across all pending service
> requests not just one service client.
> Can u open a JIRA with a simple sample please?
> Thanks!
> Sanjiva.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to