Avatar billede boomshanka Nybegynder
13. januar 2005 - 17:57 Der er 6 kommentarer og
1 løsning

Findes der ingen eksempler/tutorials til ksoap2

Nu har jeg efterhånden ledt en del sider igennem, forsøgt at køre 3-4 "as-simple-as-that" ksoap eksempler igennem uden held og er nu endt her, da linket til ksoap mailgroup er dødt :-(

Jeg har sat min tomcat 5.5.4 op og deployet en webservice klar til at blive kaldt. Det eneste jeg reelt er interesseret i nu er et java-eksempel for at oprette en SOAP-request, sende den afsted til en webservice og gemme SOAP-respons. Men som sagt kan jeg kun finde eksempler som bruger ksoap. På forhånd tak!
Avatar billede boomshanka Nybegynder
13. januar 2005 - 18:18 #1
det blev ikke aktuelt aligevel - er gået over til ksoap 1.2
Avatar billede simonvalter Praktikant
13. januar 2005 - 18:20 #2
havde noget gammelt kode liggende..

  metoden i midlet
 
 
  public String lookUp(String country, String number)
    {
        String result = null;
        SoapObject rpc = new SoapObject("urn:airportservice",
                                        "lookupPassport");
        rpc.addProperty("in0", country);
        rpc.addProperty("in1", number);
        SoapSerializationEnvelope envelope = new
            SoapSerializationEnvelope(
            SoapEnvelope.VER10);
        envelope.bodyOut = rpc;
        // http://localhost:8180/axis/services/urn:airportservice
        HttpTransport transport = new HttpTransport(getAppProperty("webservice"));
        transport.debug = true;
        try
        {

            transport.call("lookupPassport", envelope);
            result = envelope.getResult().toString();

        }
        catch (XmlPullParserException ex)
        {
            ex.printStackTrace();
        }
        catch (IOException ex)
        {
            ex.printStackTrace();
        }
        return result;
    }
   
   
   
   
   
   
    ---------------------
   
   
    public class AirportServiceImpl implements AirportServiceIF {
    public AirportServiceImpl()
    {
    }

    /**
    * lookup
    *
    * @param country String
    * @param number String
    * @return String
    * @throws RemoteException
    */
    public String lookupPassport(String country, String number) throws java.rmi.

        RemoteException
    {
        String result = null;
        Context init = null;
        try
        {
            init = new InitialContext();
        }
        catch (NamingException ex3)
        {
            ex3.printStackTrace();
        }
        Context ctx = null;
        try
        {
            ctx = (Context) init.lookup("java:comp/env");
        }
        catch (NamingException ex)
        {
            ex.printStackTrace();
        }
        DataSource ds = null;
        try
        {
            ds = (DataSource) ctx.lookup("jdbc/AxisMySQL");
        }
        catch (NamingException ex1)
        {
            ex1.printStackTrace();
        }
        try
        {
            Connection con = ds.getConnection();

            PreparedStatement stmt = con.prepareStatement(
                "Select note FROM passport WHERE country = ? AND number = ?");
            stmt.setString(1, country);
            stmt.setString(2, number);

            ResultSet rs = stmt.executeQuery();
            while (rs.next())
            {
                result = rs.getString(1);
            }
            if (result == null)
            {
                result = "No information avalible";
            }

        }
        catch (SQLException ex2)
        {
            ex2.printStackTrace();
        }
        return result;
    }



}
Avatar billede boomshanka Nybegynder
13. januar 2005 - 18:39 #3
okay, hvis jeg forstår ovenstående rigtigt så er "airportservice" navnet på din webservice deployet under http://localhost:8180/axis/services/airportservice. Men hvad er "webservice" i:

HttpTransport transport = new HttpTransport(getAppProperty("webservice"));

og hvor ligger getAppProperty henne? Såvidt jeg kan læse i ksoap-doc findes der 2 constructors for HttpTransport; HttpTransport() og HttpTransport(java.lang.String url, java.lang.String soapAction). Metoden getAppProperty kan jeg heller ikke finde noget sted
Avatar billede boomshanka Nybegynder
13. januar 2005 - 18:49 #4
jeg vil gerne give point hvis det kommer til at virke :-)
Avatar billede simonvalter Praktikant
13. januar 2005 - 19:03 #5
Avatar billede boomshanka Nybegynder
14. januar 2005 - 16:35 #6
Det viste sig jo at virke helt perfekt!

Mange tak for hjælpen simonvalter - jeg har ledt længe efter ovenstående :-D

Point ligger lige her:

http://www.eksperten.dk/spm/580802
Avatar billede simonvalter Praktikant
14. januar 2005 - 17:00 #7
det var så lidt.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester