Directory API - WSDL client

Hi All,
I am trying to create a simple program to edit and activate some channels in ID. The environment is PI 7.11 SP 6.
I tried to import the WSDL directly from WSNavigator and tried to create a Java proxy client. The wizard would not complete and it throwed me an error saying
IWAB0399E Error in generating Java from WSDL:  WSDLException (at /definitions/import/wsdl:definitions/wsdl:import/wsdl:definitions/wsdl:portType/PolicyReference): faultCode=INVALID_WSDL: Encountered unexpected element 'PolicyReference'.:
I then tried to export the service interface WSDL and then tried to create the Client Java proxy components. This time the wizard completed but the packages imported are reporting eror mainly in LONG_Description.java (com.sap.xi.BASIS.Global package).Also the imported WSDL which was fine until I tried to generate the client now started complaining with error
Element type "xsd:element" must be followed by either attribute specifications, ">" or "/>"
The error points to this particular tag
<xsd:element maxOccurs="unbounded" minOccurs="0" name="ErrorMessage" type="p3:Text"/>
Any pointers to over come this would be highly appreciated.
Thanks
Jai

One step forward. When I create the client proxy, the packages created are
com.sap.xi.BASIS and com.sap.xi.BASIS.Global
The packages
types.api.server.ib.aii.sap.com and types.api.server.ibdir.aii.sap.com are not getting created.
Is this correct? This is not in accordance with the blog http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/11653. [original link is broken] [original link is broken] [original link is broken]
Thanks
Jai

Similar Messages

  • Building WSDL client for OIM SPML webservice

    Has any one created WSDL client for OIM SPML webservice,
    Any help is appreciated.
    Thanks,
    Pandu
    old thread -->
    add udfs to spml prov. request to oim
    ==========================
    Hi,
    I am provisioning users in OIM from by sending spml requests
    I used the sample client that comes in xellerate directory.
    How can I update spml requests to include UDFs to create user in him with udf s.
    Thanks
    Pandu
    Edited by: pandu345 on Aug 5, 2009 3:27 PM

    Hello there,
    There is a .NET web service client which is successfully able to access the weblogic application server wsdl from oim 9101 and it can see the complete user profile as a response from the same.
    1.) Now, there is a situation where oim needs to send some attribute values to that .NET web service client, after the data from their side comes to OIM and updates a single attribute values for e.g. PIN. How can we do that ?
    2.) and I want to add some UDFs into the existing SPML provisioning user profile. How can I do that ?
    3.) Also, how will OIM know that it was able to successfully send the attribute values to the web service client.
    http://download.oracle.com/docs/cd/E10391_01/doc.910/e10360/creategtc.htm#Toc153968032
    I have gone through this. I didnt found this in OIM 9101.
    Any ideas/references/clues/hints appreciated in this concern.
    Thanks in advance,
    - oidm.

  • DIR API - Java client code question

    Dear all,
    I am trying to create a communication channel using the directory API using the PI7.1 WSDL(tried to import wsdl from URL ; also tried from ESR ext def n manualy defining the binding). Implementation is using Java proxy.
    The create() method of CommunicationChannelServiceVi expects a CommunicationChannelCreateChangeIn object as argument. Now this class doesnu2019t have a set method for the communicationChannel attribute.  So I canu2019t see how we pass on the data to be used to create the communication channel, e.g communication channel name or description or other properties of it.
    Could someone explain why is that / advice how to go about it please?
    Treid with NWDS and Netbeans IDEs but get the same output.
    Cheers
    dan
    PS: I have seen the documentation at http://help.sap.com/saphelp_nwpi71/helpdata/EN/46/6dca42e5c269dfe10000000a11466f/frameset.htm  and the blog(/people/william.li/blog/2008/10/20/directory-api-development--part-1-of-3) by William, both of them are on PI7.0 so please donu2019t paste these links back

    Forgot to close the thread for long... sorry !
    The reason why there isnu2019t a set method is that, the value we are trying to set is a List(the thought behind it is - if you are allowed to set it, you could essentially overwrite what is already in it).
    There is a get method which will return a reference to the list, that can be used to add values.
    cheers
    danus

  • Webservice Directory API - Unable to Assign Folder name to the Objects

    Hi,
    I am trying to use Directory API to create ID Objects through API. I have referred blogs of Bill Li - /people/william.li/blog/2008/10/20/directory-api-development--part-1-of-3
    We are able to create ID objects using this API but unable to assign an object to a folder.
    I have Folder Structure like
    \IBM\ - for IBM
    \HARTFORD\ - for Hartford.
    So we are trying to create all the ID object under the vendor folder like IBM. When we run the program the objects are getting created but those doesn't show up in the specified folder and we have no errors/warning in the logs. We can still see them created in Object View.
    Interesting thing is that there is no folder issue in our older system PI 711_00 but in new system 711_06 has this problem. I am not sure what casing this issue in our new system.
    Please let me know if you have any idea on this issue.
    Thanks,
    Laxman

    We had the same issue here (EX 2010, 2008R2 DCs).
    This is my solution:
    I found out that after putting the user into the group that gets full access for the mailbox, I have to log off and log on the user from his/her workstation, then resart the exchange information store and voila -> access granted !
    Logging off and back on the user seems logical, because group membership will only change after the next log on.
    Restarting the Information Store seems logical, if , as I guess, Exchange only does group expansion on a periodically basis (I didn't had the time to check and wait..)
    But if you restart the Information Store before the user has logged off (even with outlook closed) and then log off/on he user, access will not be granted. I really don't understand this behavior.
    Maybe there is someone out there with deeper knowledge of Exchange/AD that can explain this.
    The solution with "Read Members" didn't work. I think the Exchange Servers already get the "Read Members"-Right through their membership in "Exchange Trusted Subsystem". That group has the right in question.
    Hope this helps.
    EDIT: Now I found out that it has to do with the Kerberos tickets for that user in question. As long as there is a ticket with the old group memberships, the restart of the Information Store doesn't update the access rights. klist purge (on all clients the
    user is looged on to) before restarting the information store does the job too. Maybe this is about Exchange SID caching.

  • Problem in creating Receiver Agreement using Integration Directory API

    Hello Experts,
    We are developing a scenario where we are creating "REceiver Agreement" through Integration Directory API.
    This requires certain parameters like Sender component, Interface, Communication Channel & Namespace to be set in the code.The required Communication Channel & Components already exist in Integration Directory .
    Our concern is that we are not able to retreive this Communication Channel's ID through the code in order to set it as a parameter for Receiver Agreement generation.
    Can anybody pls advice??
    Thanks in advance,
    Suraj.

    Hi Stefan,
    We tried using query on communication channel, but could not do it as we could not get a method which accepts  name of communication channel as parameter.
    We used "CommunicationChannelQueryIn" related methods in the API.
    But still could not retreive the Communication Channel ID of an existing Communication Channel.
    Please help.

  • Transport protocol version error in Integration Directory API

    Hi All,
    I am trying to create SOAP receiver communication channel using Java-only PI 7.31 directory APIs. I have passed all the required parameters to the CommunicationChannelIn service, but it's throwing error - "Enter at least one object key for operation 'create'".
    When I tried to test the service through WS Navigator, it's giving exception - "Enter a value for attribute 'Transport Protocol Version'" which doesn't exists in case of SOAP adapter creation.
    Has anybody come across this issue? If the adapter metadata does not specify any transport protocol version, then shouldn’t the validation checks in  CommunicationChannelIn service provider proceed without errors on a blank value for this attribute?
    Note: I have gone through all the SCN blogs, discussion threads we have on topics related to Integration Directory API.
    Thanks in advance for all the help and suggestions.
    Regards,
    Yashu Vyas

    Hi All,
    I am trying to create SOAP receiver communication channel using Java-only PI 7.31 directory APIs. I have passed all the required parameters to the CommunicationChannelIn service, but it's throwing error - "Enter at least one object key for operation 'create'".
    When I tried to test the service through WS Navigator, it's giving exception - "Enter a value for attribute 'Transport Protocol Version'" which doesn't exists in case of SOAP adapter creation.
    Has anybody come across this issue? If the adapter metadata does not specify any transport protocol version, then shouldn’t the validation checks in  CommunicationChannelIn service provider proceed without errors on a blank value for this attribute?
    Note: I have gone through all the SCN blogs, discussion threads we have on topics related to Integration Directory API.
    Thanks in advance for all the help and suggestions.
    Regards,
    Yashu Vyas

  • Receiver determination issue with PI Directory API

    Hi Guys,
    I was trying to use the PI Directory webservice API to automatically build Integration Directory Objects. I found an issue when creating Receiver Determination Object. Here are the details:
    My scenario is one to many, one Interface with several receiver Parties/Business Components. so I created a Receiver Determination with one party as the receiver using regular Integration Builder Tool and  I was trying to add more receiver by Directory API for the remaining receivers to the one which I manually. But I did not a way or option to add more to the receivers list, when I tried that it was simply overwriting the existing one when I used the Change Operation but when I try to use create Operation it complains that the Object already exists..
    Do you have any idea what is the better way use the API to add more receivers to the list.
    Thanks,
    Laxman

    There is no delta changes allowed through Dir API. We had to read the RD and change with additional receivers.
    Thanks,
    Laxman

  • PI Directory API - Communication Channel Change

    Building an application using SAP PI Directory API to read existing communication channel(s) and to update them to change the Status (Active / Inactive).  I'm able to change the status but not able to retain the password in the channel; For example, JDBC channel has DB user id and password.  After successfully changing the status, Channel is loosing password.
    Here is the logic that I'm following to change the communication channel.
    Using Communication Channel Service
      - Read method to get communication channel object
      - Change method to change the status
          - In change method, I'm creating CommunicationChalleRestricted object based on the CommunicationChannel object received in Read method.  (using get and set methods)
    Also, I'm dynamically creating and activate/reverting the Change list while performing the change operation.
    Please note that the communication channel service in WSNavigator is not showing the password when executing READ method.  I've also tried OpenForChange method, but the same issue.
    How can I make password retained while changing the existing communication channel? 
    Any help is greatly appreciated.
    Thanks
    Sat

    Hi Sat,
    I had implemented a tool to make mass channel active or inactive using a simple excel-sheet interface. I had faced the password issue when i was implementing this. But i came to know that password are not stored as plain text but instead they are stored as encrypted text with some complex encryption algorithm and key. And also due to security reasons the web-services in PI do not return password(not even the encrypted string).
    So to update,save and activate any channel in PI you simply need to skip the AdapterSpecificAttribute which has "password" as the name. Below is the pseudo code(java) for this
    ArrayList<GenericProperty> ASA = new ArrayList<GenericProperty>();
    Loop all AdapterSpecificAttributes:
    if(Name.tolowercase().contains("password"))
         // skip
    else
         GenericProperty attr = new GenericProperty();
         attr.setName(Name);
         attr.setValue(Value);
         ASA.add(attr);
    Loop End:
    //set ASA to the CommunicationChannel object AdapterSpecificAttribute
    Note: Not tested the above code so make changes accordingly(as required). I have implemented this same logic and it worked.
    Hope it helps,
    Thanks,
    Anand

  • Integration Directory API missing object ID.

    Hi,
    I have just started using the ID API. I'm using C# and .Net to create a webpage to list out the configuration.
    I can for example read out all settings for a communication channel, but the object ID for the channel is not included.
    Does anybody know if there exist any way to get the object ID for a particular comm.channel from .Net?
    Either thru the ID API, or some other standard webservice / RFC that should be available?
    Best regards,
    Kristian

    Check the document below
    Using Directory API to Configure Communication Channels:
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c0487ced-f537-2d10-249d-f6c7323c272e?quicklink=index&overridelayout=true

  • Integration Directory APIs in PI7.1

    hi,
    I am trying to read/access the content (objects) of integration directory using the APIs.
    this feature is available in PI7.1.
    I saw the documenation
    [http://help.sap.com/saphelp_nwpi71/helpdata/en/46/6ef92455d66a58e10000000a11466f/content.htm]
    and
    [http://help.sap.com/saphelp_nwpi71/helpdata/en/46/6dca42e5c269dfe10000000a11466f/content.htm]
    It says:
    Open the external definition CommunicationPartyService in the software component version SAP BASIS 7.00 in the namespace http//sap.com/xi/XI/System
    In the navigation area expand the node SAP BASIS u2192 SAP BASIS 7.00 u2192 http://sap.com/xi/XI/System u2192 External Definitions.
    In my ESR, i can see the namespace http//sap.com/xi/XI/System under swcv SAP BASIS, but the external definition CommunicationPartyService is not present.
    Has anyone tried accessing the ID objects thru APIs. would it be possible to access without the CommunicationPartyService external definition.
    any comments appreciated.
    thanks,
    Ganesh

    the blogs
    Directory API Development - Part 1 of 3
    Directory API Development - Part 2 of 3
    Directory API Development - Part 3 of 3
    were helpful.

  • How to create all Integration Directory with Directory API

    How to create all Integration Directory
    elements (Receiver determination, Interface Mapping, Communication channel Etc ) using Directory API
    Can we upload multiple elements in ID from list in Excel sheet

    Take a look to this "How TO", can be really helpful for your requirements:
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/a0336199-d3c7-2c10-c983-f8a945a4588c?QuickLink=index&overridelayout=true

  • WSDL Client

    Hello,
    I made a WSDL client and now I've seen that java has a native client JAX-WS that I could of use.
    My original client knows how to use PKCS11 and how to set HTTP header vars(including basic HTTP authentication).
    I don't know how to translate PKCS11 and HTTP header vars in JAX-WS.
    I should find a place where to specify a SSLSocketFactory in JAX-WS.
    I started with the example from here: http://www.mkyong.com/webservices/jax-ws/jax-ws-hello-world-example/ and I tried to add these 2 functionalities.
    But the problem line is at
    {Service service = Service.create(url, qname);}
    and I can't add here my new functionality.
    What should I do?
    This is the client:
    package com.mkyong.client;
    import java.net.URL;
    import javax.xml.namespace.QName;
    import javax.xml.ws.Service;
    import com.mkyong.ws.HelloWorld;
    public class HelloWorldClient{
        public static void main(String[] args) throws Exception {
        URL url = new URL("http://localhost:9999/ws/hello?wsdl");
            QName qname = new QName("http://ws.mkyong.com/", "HelloWorldImplService");
            Service service = Service.create(url, qname);
            HelloWorld hello = service.getPort(HelloWorld.class);
            System.out.println(hello.getHelloWorldAsString("mkyong"));
    Thank you

    This is what I tryed:
                URL url = new URL(protocol+"://"+host+":"+port+servicePath);
                QName portName = new QName(protocol+"://"+host+":"+port, servicePath);
                System.out.println("URL IS "+url.toString());
                Service service = Service.create(url, portName);
                OnlineSIUIDef portSIUI = service.getPort(OnlineSIUIDef.class);
                BindingProvider bindingProvider = (BindingProvider)portSIUI;
                Map requestContext = bindingProvider.getRequestContext();
                requestContext.put(BindingProvider.USERNAME_PROPERTY, SIUI_USERNAME);
                requestContext.put(BindingProvider.PASSWORD_PROPERTY, SIUI_PASSWORD);
                PKCS11 pk11 = new PKCS11();
                pk11.loadSecurityProviders();
                RetStruct statD = pk11.getKeyManagerFactory();
                if(statD.succes) {
                    kKeyManagerFactory = (KeyManagerFactory)statD.returnParameters.get("KeyManagerFactory");
                } else {
                    System.out.println("Eroare "+statD.errMessage);
                SSLContext context = SSLContext.getInstance("TLS");
                context.init(kKeyManagerFactory.getKeyManagers(), null, null);
                factory = context.getSocketFactory();
                Dispatch<SOAPMessage> dispatch = service.createDispatch(portName, SOAPMessage.class, Service.Mode.MESSAGE);
                dispatch.getRequestContext().put (JAXWSProperties.SSL_SOCKET_FACTORY, factory);
                dispatch.getRequestContext().put(BindingProvider.SOAPACTION_URI_PROPERTY, protocol+"://"+host+":"+port+servicePath);
                OnlineSIUIDef hello = service.getPort(OnlineSIUIDef.class);
                System.out.println(hello.getOnlineSIUIDefString("mkyong"));
    The error is at line 4 - before setting the user, password and the SSL Context.
    So the error is normal because the application never got to the line where the user, password and ssl context was set.
    But how do I set these before line 4?
    The error is
    Exception in thread "main" javax.xml.ws.WebServiceException: Failed to access the WSDL at: https://www.siui.ro:443/svapntws/services/SiuiWS?wsdl. It failed with:
        Got Server returned HTTP response code: 401 for URL: https://www.siui.ro:443/svapntws/services/SiuiWS?wsdl while opening stream from https://www.siui.ro:443/svapntws/services/SiuiWS?wsdl.
        at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex(RuntimeWSDLParser.java:173)
        at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:155)
        at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:120)
        at com.sun.xml.internal.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:257)
        at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:220)
        at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:168)
        at com.sun.xml.internal.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:96)

  • Cannot access directory oracle\jbo\Client

    Hi
    I got this error on trying out a batch client approach,
    Error(3,1): cannot access directory oracle\jbo\Client; verify that directory is reachable from classpath and/or sourcepath
    Can anyone advise where I can find this "oracle\jbo\Client"?
    Was it an installation or configuration problem?
    Many Thanks

    There are various predefined "BC4J .." libraries available in the ide. For exmaple If you are using the bc4j ejb client then goto
    Project Properties->Libraries and
    "BC4J EJB client" to the selected list.
    Dhiraj

  • Why do we need Directory API when we have Integration Directiory

    Hi Team,
    Can any one please give any suggestions on the uses of Directory API.
    Regards,
    Avinash.

    Hi Avinash,
    Please have a look at the links below. All of these should answer any questions you have.
    http://scn.sap.com/community/pi-and-soa-middleware/blog/2012/10/12/using-pi-73-s-directory-api
    http://scn.sap.com/community/pi-and-soa-middleware/blog/2008/10/20/directory-api-development--part-1-of-3
    Also have a look at the following user. He has very good content on API.William Li
    Regards,
    Jannus Bohta

  • Directory API to download list of Business Components

    Hi All,
    I have requirement to download the Business Component list into an excel using Directory API using NWDS.I have followed william's blog, and able to download ICO and CC list in excel, however when I am trying the similar way to download Business components, the code is giving multiple errors.
    http://scn.sap.com/community/pi-and-soa-middleware/blog/2012/10/12/using-pi-73-s-directory-api
    If anyone has worked on this requirement, please help me with the pointers.
    Thanks,
    Ruchi

    these functions are available inside BusinessComponentIdentifierCollection.java.
    This has getBusinessComponentID(). Try using this

Maybe you are looking for

  • Exportar a .txt desde Crystal Report

    Hola Tenemos un reporte del DIOT (DECLARACIÓN INFORMATIVA PARA OPERACIONES CON TERCEROS), como nuevo requerimiento se desea agregar un botón que exporte este archivo a formato .txt con el mismo formato que se requiere para subirlo al SAT, es decir co

  • [XI 3.1] Import Wizard Error 21: RSS file does not exist

    Hi, I would like to migrate from 6.5 to 3.1. I would like trasfer universe and reports with Import Wizard. But I receive this error: ERR21:Execute request to Cnx Server failed : RSS file does not exist : D:\Programmi\Business Objects\BusinessObjects

  • Help With Multiple WAPs & Multiple SSIDs

    I just inherited a wireless LAN that is using 5 1230 WAP devices, all using a single SSID configured for 1) open authentication, 2) mandatory WPA key mgmt, 3) hex SSID key, and 4) cipher TKIP encryption. Everything works fine, but now I have to add a

  • Expired password change

    it says my password has expired so i go to change it by typing in my old password and a new one but it doesnt let me the screen just shakes please help!

  • How do I put calendars from my Macbook onto my iPhone?

    I have had a Macbook Pro for for about a year and a half, and have used the calendar app regularly for things like medical appointents, exam dates, class schedules, and more, without having problems with it. I got an iPhone a few months ago, and I've