If you are trying to invoke via Java, then you can check the existing usage
of UserAdminStub class here [1].

These admin services are already used by the mgt console UI to invoke the
back-end services. A trick I used to capture the soap envelope is the
following. This does not work all the time. You can throw the dice and see.

1. Go to repository/components/plugins folder
2. Unzip the relevant jar bundle that that contain the service. UserAdmin
service is in org.wso2.carbon.user.mgt_5.7.5.jar.
3. In there, open META-INF/services.xml file in there, and remove the
following two lines

    <parameter name="adminService" locked="false">true</parameter>
    <parameter name="hiddenService" locked="false">true</parameter>

4. Zip it back, and restart the server.

5. Now go to, *Monitor* -> *Soap Tracer*, and enable it.
6. Do a user mgt UI operation and check the Soap Tracer.

As I said, throw the dice and see. It may not work for you.

[1] https://github.com/search?q=org%3Awso2+UserAdminStub&type=Code

On Wed, Jul 26, 2017 at 11:11 PM, Sagar Kapadia <ks197...@gmail.com> wrote:

> Hi
> I have another question. Is there a need to generate stubs for services,
> given that stubs for  services are present? I could not find a way to pass
> the token to generated web service stubs. However, I figured out how to use
> the stubs themselves
>
>   UserAdminStub s=new UserAdminStub();
>         ServiceClient serviceClient =s._getServiceClient();
>
>         option = serviceClient.getOptions();
>         option.setManageSession(true);
>         option.setProperty(
>                 org.apache.axis2.transport.http.HTTPConstants.COOKIE_
> STRING,
>                 token);
>
>         FlaggedName[] names=s.listAllUsers("*", 100);
>                for(FlaggedName name:names){
>
>
>        System.out.println(name.getItemDisplayName());
>    }
>
> Is there a way to do this with generated code? or do the provided stubs
> cover all services?
> Also, I have not managed to login using the authenticate method with
> either localhost or actual ip and credentials admin/admin. I used soapui to
> login and obtain the session token, which I passed to the above web
> service, which worked. Please let me know what mistake I am making in the
> login proocess.
>  System.setProperty("javax.net.ssl.trustStore",
> "C://wso2das-3.1.0/repository/resources/security/wso2carbon.jks");
>     System.setProperty("javax.net.ssl.trustStorePassword", "wso2carbon");
>     System.setProperty("javax.net.ssl.trustStoreType", "JKS");
>
>        LoginAdminServiceClient c=new LoginAdminServiceClient(backEndUrl);
>
>        String token=c.authenticate("admin","ädmin");
>        System.out.println("Token:"+token);
>
> Invoking an admin service
>
> Admin services are secured using common types of security protocols such
> as HTTP basic authentication, WS-Security username token, and session based
> authentication to prevent anonymous invocations. For example, the
> UserAdmin Web service is secured with the HTTP basic authentication. To
> invoke a service, you do the following:
>
>    1. Authenticate yourself and get the session cookie.
>    2. Generate the client stubs to access the back-end Web services.
>
> To generate the stubs, you can write your own client program using the
> Axis2 client API or use an existing tool like SoapUI
> <http://www.soapui.org/> (4.5.1 or later) or wsdl2java.
>
> The wsdl2java tool, which comes with WSO2 products by default hides all
> the complexity and presents you with a proxy to the back-end service. The
> stub generation happens during the project build process within the Maven
> POM files. It uses the Maven ant run plug-in to execute the wsdl2java tool.
>
> You can also use the Java client program given here
> <https://svn.wso2.org/repos/wso2/people/asela/user-mgt/remote-user-api/4.2.X/>
>  to
> invoke admin services. All dependency JAR files that you need to run this
> client are found in the /lib directory.
>
> On Wed, Jul 26, 2017 at 6:32 PM, Sagar Kapadia <ks197...@gmail.com> wrote:
>
>> Hi,
>>
>> I used this tutorial
>> https://docs.wso2.com/display/DAS300/Calling+Admin+Services+from+Apps
>>
>> I am facing the following issues in importing the WSDL files and
>> generating the code
>> I get the following error message when I call
>> wsimport AuthenticationAdmin.xml
>>
>> [ERROR] missing required attribute "message" of element "wsdl:output"
>>
>>
>>         Failed to parse the WSDL.
>>
>> I could not fix this issue.
>>
>> In another wsdl file "UserAdmin", I got multiple errors,
>> [ERROR] operation "" has an invalid style
>> which I fixed as follows
>> https://stackoverflow.com/questions/12155114/generating-stub
>> s-with-jax-ws-fails
>> I added <wsdl:output message="tns::<OperationName>Response"> and also
>> corresponding
>> <wsdl:message name="<NameofMessage>">
>>
>> I was able to generate code for the UserAdmin sevice, but not for
>> AuthenticationAdmin Service
>>
>> By the way the reason I tried to generate code for the Autherntication
>> Service is that login fails without any exception . The token returned is
>> null.
>> I am sharing a link to the source code [Netbeans project] for the web
>> service client and the the modified wsdl files I am using
>>
>>
>> Link to the source
>> https://drive.google.com/open?id=0BwqZCw5oc2rwcmJGTllNbEo2U00
>>
>>
>> The help I require is primarily with the login functionality, because its
>> failing. Also, is the manner I am trying to fix the wsdls correct? [Adding
>> wsdl:output with message]
>>
>>
>> Sincerely
>> Sagar
>>
>
>
> _______________________________________________
> Dev mailing list
> Dev@wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 

*Kasun Gajasinghe*Associate Technical Lead, WSO2 Inc.
email: kasung AT spamfree wso2.com
linked-in: http://lk.linkedin.com/in/gajasinghe
blog: http://kasunbg.org
phone: +1 650-745-4499, 77 678 0813
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to