wso2wso2-api-manager

WSO2 APIM login operation in Authentication Admin service does not work


I'm following WSO2 Admin Services instructions for 4.5.0 version of WSO2APIM. I can fetch WSDLs for different services and generate requests in SOAP UI, hovewer I can not login my admin user in AuthenticationAdmin service and as a result can not use other services without session id. Below request that I use in SOAP UI. Do I need to have some additional headers in a request (currently no headers)?

URL: https://api-temy.dev.com/services/AuthenticationAdmin.AuthenticationAdminHttpsSoap11Endpoint

My WSO2 server is running on OracleLinux VM, and I have a proxy that maps https://api-temy.dev.com/services to https://api-temy.dev.com:9443/services

Request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:aut="http://authentication.services.core.carbon.wso2.org">
   <soapenv:Header/>
   <soapenv:Body>
      <aut:login>
         <!--Optional:-->
         <aut:username>admin</aut:username>
         <!--Optional:-->
         <aut:password>foobar123456</aut:password>
         <!--Optional:-->
         <aut:remoteAddress>api-temy.dev.com</aut:remoteAddress>
      </aut:login>
   </soapenv:Body>
</soapenv:Envelope>

Response:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <soapenv:Fault>
         <faultcode>soapenv:Server</faultcode>
         <faultstring>wrong number of arguments: 0 expected: 3</faultstring>
         <detail/>
      </soapenv:Fault>
   </soapenv:Body>
</soapenv:Envelope>

In Carbon logs I see following errors:

2025-07-08T13:18:08,838 [-] [PassThroughMessageProcessor-90] ERROR {org.apache.axis2.rpc.receivers.RPCMessageReceiver} wrong number of arguments: 0 expected: 3
java.lang.IllegalArgumentException: wrong number of arguments: 0 expected: 3
    at jdk.internal.reflect.DirectMethodHandleAccessor.checkArgumentCount(DirectMethodHandleAccessor.java:329) ~[?:?]
    at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:101) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
    at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:178) ~[axis2_1.6.1.wso2v76.jar:?]
    at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:117) ~[axis2_1.6.1.wso2v76.jar:?]
    at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) ~[axis2_1.6.1.wso2v76.jar:?]
    at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110) ~[axis2_1.6.1.wso2v76.jar:?]
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) ~[axis2_1.6.1.wso2v76.jar:?]
    at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:492) ~[synapse-nhttp-transport_4.0.0.wso2v218.jar:?]
    at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:208) ~[synapse-nhttp-transport_4.0.0.wso2v218.jar:?]
    at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) ~[axis2_1.6.1.wso2v76.jar:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
    at java.lang.Thread.run(Thread.java:1583) ~[?:?]
2025-07-08T13:18:08,839 [-] [PassThroughMessageProcessor-90] ERROR {org.apache.synapse.transport.passthru.ServerWorker} Error processing POST request for : /services/AuthenticationAdmin.AuthenticationAdminHttpsSoap11Endpoint
org.apache.axis2.AxisFault: wrong number of arguments: 0 expected: 3
    at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) ~[axis2_1.6.1.wso2v76.jar:?]
    at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:211) ~[axis2_1.6.1.wso2v76.jar:?]
    at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) ~[axis2_1.6.1.wso2v76.jar:?]
    at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110) ~[axis2_1.6.1.wso2v76.jar:?]
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) ~[axis2_1.6.1.wso2v76.jar:?]
    at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:492) ~[synapse-nhttp-transport_4.0.0.wso2v218.jar:?]
    at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:208) ~[synapse-nhttp-transport_4.0.0.wso2v218.jar:?]
    at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) ~[axis2_1.6.1.wso2v76.jar:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
    at java.lang.Thread.run(Thread.java:1583) ~[?:?]
Caused by: java.lang.IllegalArgumentException: wrong number of arguments: 0 expected: 3
    at jdk.internal.reflect.DirectMethodHandleAccessor.checkArgumentCount(DirectMethodHandleAccessor.java:329) ~[?:?]
    at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:101) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
    at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:178) ~[axis2_1.6.1.wso2v76.jar:?]
    at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:117) ~[axis2_1.6.1.wso2v76.jar:?]
    ... 9 more

Solution

  • It seems you are trying to access the Admin service through the wrong port. Try accessing through the port `9443`.

    https://your-host:9443/services/AuthenticationAdmin.AuthenticationAdminHttpsSoap11Endpoint
    

    Your DNS `api-temy.dev.com` is probably mapped to expose the GW ports 8243/8280, so you may have to add an additional entry to expose services through port 9443 as well.

    As a side note consider using API Manager Rest APIs instead of Admin services.