---
title: "Problem med att skapa en SOAP-klient"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/130457-problem-med-att-skapa-en-soap-klient"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "jme"
published: "2005-06-23T06:51:13.000Z"
updated: "2005-06-27T06:59:01.000Z"
replies: 3
views: 436
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/130457-problem-med-att-skapa-en-soap-klient"
---

# Problem med att skapa en SOAP-klient

## #1 — jme, 2005-06-23T06:51Z

Hej!

Jag håller på och lära mig Web services och SOAP (Apache Axis).

Jag försöker skapa en simpel web service med enstaka metoder.

Jag har följande kod i klassen MyService:

```php
  public void addPerson(Person p)
    {
        if(p != null)
            persons.put(p.getName(), p);
    }
    
    public String getServiceName()
    {
        return "MyService";
    }

    public String echo(String text)
    {
        return text;
    }
```

 

Följande kodsnutt anropar metoden echo(String) med "arg" som parameter:

```php

        call.setOperation("echo");
        call.addParameter("arg1", XMLType.XSD_STRING, ParameterMode.IN);
        Object retVal = call.invoke(new Object[] { new String("arg") });
```

Dum fråga men, hur kan jag anropa en metod som inte tar nåt som parameter?

Permalänk: https://www.webforum.nu/p/130457

## #2 — Lime, 2005-06-23T11:01Z

Om du Axis få finns två sätt:

1\. Det snygga och kompatibla:

 call.invoke( new Object\[0\] );

2\. Axis-sättet (som f.ö. gör ovanstående anrop):
 call.invoke();

Permalänk: https://www.webforum.nu/p/1633428

## #3 — jme, 2005-06-26T19:22Z

Lime:

Jo, jag såg att man kan anropa call.invoke( new Object\[\] {});

Hittade ingen metod Object invoke(), hittade däremot void invoke().

Permalänk: https://www.webforum.nu/p/1637233

## #4 — Lime, 2005-06-27T06:59Z

Jo jag har noterat det jag med... och då får man göra getOutputParams() för att få svaret. Men om man vill hålla det kompatibelt med alla JAX-RPC-implementationer.

T.ex. kodade vi ett system med Axis och sedan bestämmer sig kunden för en "kommersiel och pålitlig" implementation. Varför betala när man kan få det bästa gratis. Fast den kunden är iofs allergisk mot allt vad open source heter. Jag får knappt använda Eclipse eftersom man inte kan betala för den... :-/

Permalänk: https://www.webforum.nu/p/1637344

---

Tråden på webben: https://www.webforum.nu/amne/java/130457-problem-med-att-skapa-en-soap-klient
