External Web Services Url Change

When I installed Lync 2013 I used the same fqdn for the internal and external web services url. I now am implementing a reverse proxy server and realized that the fqdn needs to be different for the external services.  I am using IIS AAR on a 2012
Server for my proxy. WHen I change the web services external url in topology builder and republish it, what other steps do I need to do after the change. I figured I would need to rerun the setup, but do I need new internal or external certs if I already have
the SAN name in my certificate that I plan to use.

External web FQDN is required in certificate for Lync Server Front End Server, you can that at
http://technet.microsoft.com/en-us/library/gg398094.aspx
External web FQDN is require in certificate for Reverse Proxy Server, check that at
http://technet.microsoft.com/en-us/library/gg429704.aspx
Lisa Zheng
TechNet Community Support

Similar Messages

  • Front End internal and external web services

    Hi all,
    Can someone explain the purpose of internal and external web services URL in front end server. what does it do and what is it used for? and why the external traffic goes directly to it and not through reverse proxy?
    Thanks,

    They're for multiple purposes.  Address books, autodiscovery, meeting urls, mobile clients, etc.  There are two because they respond slightly differently based on whether the client is internal or external.  External traffic should always reach
    it through a reverse proxy, that reverse proxy should proxy traffic received on port 443 to port 4443 on your front end pool.
    Please remember, if you see a post that helped you please click "Vote As Helpful" and if it answered your question please click "Mark As Answer".
    SWC Unified Communications
    This forum post is based upon my personal experience and does not necessarily reflect the opinion or view of Microsoft, its employees, or other MVPs.

  • Hybrid Lync - External Web Services?

    Can anyone tell me if the external web services, provided by the on-premise Front-End server are ever used in a Lync Hybrid deployment?
    If not, how is "meeting content" that is created in a Lync on-premise meeting accessed by Lync Online users?
    Is the content in this scenario shared over media between the Edge servers or is it accessed via the external web services urls (i.e. reverse proxy)?
    I'm trying to determine if i need to setup the external web service access from outside (internet) into the on-premise Lync deployment to support a Hybrid deployment, as in this particular case none of the users will be external.

    Yes you need it. Even if a Lync user on premises is never external, if they want to invite an external person to a meeting or use mobile client internally, this will be necessary.
    Please remember, if you see a post that helped you please click "Vote As Helpful" and if it answered your question please click "Mark As Answer".
    SWC Unified Communications
    This forum post is based upon my personal experience and does not necessarily reflect the opinion or view of Microsoft, its employees, or other MVPs.

  • Lync internal / external web services FQDN

    I have a Standard edition 2013 FE server
    Should my internal/external web services url in DNS point to my FE internal IP or my Reverse proxy public IP?
    For mobility it says it should point to the external IP but for address book updates etc surely I want my internal windows clients using the FE pool directly?
    I am unable to differ them on 2013 standard edition...
    ***Don't forget to mark helpful or answer***

    The external web services works in conjunction with a reverse proxy in the perimeter network. It provides clients external access to by using these web services. The FQDNs configured here are sent to clients when they log on, and are used to make an HTTPS
    connection back to the reverse proxy when connecting remotely. The reverse-proxy server forwards the external web service FQDN to an internal hardware load balancer, or directly to the pool. The reverse proxy must be able to resolve the external web services
    FQDN to the IP address of the internal Web server. The external web services FDQN must be resolvable in the public Internet.
    If your internal server is a Standard Edition server, the internal FQDN is the Standard Edition server FQDN. If your internal server is a Front End pool, the FQDN is a hardware load balancer virtual IP (VIP) that load balances the internal web farm servers.
    A hardware load balancer is required in a Front End pool with more than one Enterprise Edition server. A load balancer is not required for a Standard Edition server or a single Enterprise Edition Front End Server.
    For DNS configuration, you can refer below link
    http://expertslab.wordpress.com/2014/04/09/dns-requirements-for-mobility/
    Please remember, if you see a post that helped you please click "Vote As Helpful" and if it answered your question, please click "Mark As Answer"
    Mai Ali | My blog: Technical

  • Consuming external Web Service in portal application:Error URL.getProtocol

    Hello!
    I implemented a portal application which consums a external Web Service with NWDS 7.2.
    The Webservice access works fine when I test it in a Java-Main Class.
    If I deploy the application in a portal then I get the error:
    java.lang.NullPointerException: while trying to invoke the method java.net.URL.getProtocol() of an object loaded from local variable 'tmpUrl'
    It seems that my service_client-class has the problem to call the wsdl if the application is in portal:
    static {
        java.net.URL url = null;
        try {
                   java.net.URL tmpUrl = SERVICEClient.class.getClassLoader().getResource
                  ("wsdl/com/sap/test/SERVICE.wsdl");
                  url = new java.net.URL(tmpUrl.getProtocol(), tmpUrl.getHost(), tmpUrl.getPort(), tmpUrl.getFile());
        } catch (java.net.MalformedURLException e) {
          e.printStackTrace();
    Can anybody help me?
    Thanks, Thomas

    Hello Thomas,
    I got the same error. In my case I used an Enterprise Application Project for the developement of my Portal Service. The portal service itself was calling an external webservice.
    The reason in my case lies behind the generation of the EAR-File with the NetWeaver Developer Studio). Inside the generated EAR-File the WSDL-File was always missing. In consequence "
    java.net.URL tmpUrl = SERVICEClient.class.getClassLoader().getResource
                  ("wsdl/com/sap/test/SERVICE.wsdl");" is always "NULL".
    and "tmpUrl.getProtocol()" leads to the NullPointerException.
    So I copied my wsdl-folder / package with the wsdl-file inside the {application}.ear / {application}.war / WEB-INF / private / lib / {application}.jar and everything works fine:-)
    Regards
    Steffen
    PS: Today I found a better way without copying the wsdl-file into the EAR-File. I just didn't use the Enterprise Application Project for the developement of portal services anymore. If you look inside the generated EAR-File, you can see, that you can develop the portal service also by using a simple Dynamic Web Project wrapped by an Enterprise Application Project:-)
    (Rem.: Don't miss the portalapp.xml deployment descriptor).
    If you deploy the Enterprise Project the WSDL-File is always inside the generated EAR-File :-)

  • Accessing external web service with non-constant URL

    Hello, all
    I am looking in the documentation on accessing external web services, but either I am looking in the wrong place, or the documentatoin is lacking info.
    My clients have several web services in the local network (regular services, not DB-based), the have the same interface, but different URL's.
    Versions of the DB are 11, 12, and 16.
    First of all, I do not see in the specs an option for a non-hardcoded URL. The logic says that this has to be possible, but I cannot find it.
    Second, I need to see an example of accessing an XML or JSon based service, I cannot find it in the specs either.
    Can anyone point me to a document with examples?
    Thank you
    Arcady

    The following will call a web service with whatever URL you pass in as the argument "myurl".  I think that is what you are looking for.
    CREATE PROCEDURE cli_test2( myurl LONG VARCHAR )
    RESULT( httpheaders long varchar, httpvalues long varchars
    URL '!myurl'
    To deal with the resulting data in XML, use the OPENXML() function.
    eg. To turn an XML list of employees that looks like this:
    <root>
    <row EmployeeID="102" Surname="Whitney" GivenName="Fran" StartDate="1984-08-28"/>
    </root>
    into a table of results, you would do this (where xmlgetemplist() is the web service call):
    CREATE OR REPLACE PROCEDURE xmlgetemplist() RESULT( httpheader long varchar, httpbody long varchar)
    URL 'http://localhost/demo/xmlEmployeeList'
    TYPE 'HTTP:GET';
    create variable res long varchar;
    -- call the web service
    select httpbody into res from xmlgetemplist() where httpheader = 'Body'
    -- extract the XML elements into a SQL result set
    select * from openXML( res, '/root/row' ) WITH ( EmployeeID INT '@EmployeeID',
           GivenName    CHAR(20) '@GivenName',
           Surname      CHAR(20) '@Surname',
           PhoneNumber  CHAR(10) '@Phone');
    To deal with the resulting data in JSON, use the sp_parse_json() procedure.
    eg.
    To turn a JSON formatted list of employees that looks like this:
    "EmployeeID": 102,
    "Surname": "Whitney",
    "GivenName": "Fran",
    "StartDate": "1984-08-28",
    "TerminationDate": null
    into a table of results, you would do this (where jsongetemplist() is the web service call):
    CREATE OR REPLACE PROCEDURE jsongetemplist() RESULT( httpheader long varchar, httpbody long varchar)
    URL 'http://localhost/demo/jsonEmployeeList'
    TYPE 'HTTP:GET';
    create variable foo long varchar;
    --call the webservice
    select httpbody into foo from jsongetemplist() where httpheader = 'Body';
    --turn the json result into a structured array of data
    -- this step is required because of less structured nature of JSON
    call sp_parse_json( 'output_array', foo);
    --extract the JSON elements from the output array into a SQL result set
    SELECT  output_array[[row_num]].EmployeeID as EmployeeID,
                   output_array[[row_num]].SurName as SurName,
                   output_array[[row_num]].GivenName as GivenName,
                   output_array[[row_num]].StartDate as StartDate,
                   output_array[[row_num]].TerminationDate as EndDate
    FROM sa_rowgenerator(1, CARDINALITY(output_array))
    Hope this helps,
    --Jason

  • Bad XML from external web service and would like to change the content

    I am getting a bad XML(not valid) from external web service and I would like to change the content of the body in OSB proxy service to make it valid.
    For example
    <g:Information xsi:schemaLocation="http:// bad schema" xmlns:g="http://abc.com/t.xsd">
    <test>Test Data</test>
    </g:Information>
    should become
    <g:Information xmlns:g="http://abc.com/t.xsd">
    <test>Test Data</test>
    </g:Information>
    Do you how can I do this?

    I don't think it would be the best solution but you may try -
    1. Conver the incoming XML to string using fn-bea:serialize() function
    2. Replace the not-required content with a blank
    3. Covert the string back to XML using fn-bea:inlinedXML
    If you find any other solution, please let us know.
    Regards,
    Anuj

  • What is the URL for an external web service

    I have an external web service that I want to invoke a BPEL process. I was wondering how to find the URL for the BPEL process.
    cheers
    James

    We're invoking the BPEL endpoint from a .NET app using the 'endpoint location' but seemed to be forced to use the embedded version number. For instance we have to say 'http://<server>:<port>/orabpel/<domain>/<process>/1.0' and I can't seem to get rid of the '1.0'. This contrasts to the WSDL location where I can use a browser and remove the version number to get the current default.
    Am I doing something wrong? I'd like to avoid embedding the version in the endpoint.

  • Consuming an external web service with WAS 6.40

    Hi all,
    I know this thread isn’t 100% XI forum related, my apologies for that. However, I believe somebody here has experience with this subject.
    I’m trying to consume an external web service through WAS 6.40 with se80. When I try to create my proxy object <u>“package Choose Create > Enterprise Service / Web Service > Proxy Object > URL type</u>”, I receive an error message (SPRX084) -> <i>During proxy generation, an interface description in WSDL format is fetched from the integration builder or from another source and interpreted. This WSDL document must describe the whole interface correctly.</i>
    I don’t have sure, but it seams something within WSDL object/element. Nevertheless, these external web services are working well with other third party client applications, why SAP WAS can’t take this WSDL?
    Anyone has faced an issue like this one?
    Thanks in advance,
    Ricardo.

    Hi,
    some tools do not generate WSDLs correcty (not with all the standards
    or with obsolete parts) and then in ABAP you cannot generate a proxy from it
    you should be able to see the some more details in disgnosis section
    sometimes you just have to change one or two things in the WSDL
    and it will be ok for WAS but you need to find the exect cause
    of the error - it can be done by debugging
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • Not able to use external Web service

    Hi All,
    I am facing an issue where in I am not able to access the external web service through webi rich client.
    Error is Provided URL is not valid WIS 10853
    It works fine for QAAWS and the external web service opens fine through Browser ( it opens an XML  page ).
    Additionally I have xcelcius installed and the external web service works fine on it.
    What can be the problem??
    Regards
    KP

    i want to expose data from share point through a webservice and use that webservice as a data source in Bi Publisher. But i am not able to use the webservice directly since it is a external web service.
    But i am not able to use the webservice directly since it is a external web service.
    why?
    look at "Creating a BI Publisher Report Based on External Web Services" ExternalWebServices
    For that i made below config changes. But it is causing weblogic server starting issues.
    why do you want to change some weblogic server settings?

  • Error while trying to call external  web service from oracle PL/SQL 10.2 g

    Hi I am trying to call an external web service from oracle PL/SQL .I am getting following run time error when I try to set the opeartion style.
    But as per the oracle documentation this is one of the 2 valid values.
    ORA-29532: Java call terminated by uncaught Java exception: operation style: "document" not supported.Teh webservice does expect the operation style as document.
    Following is the code I am executing.
    FUNCTION email
    return varchar2
    AS
    service_ SYS.utl_dbws.SERVICE;
    call_ SYS.utl_dbws.CALL;
    service_qname SYS.utl_dbws.QNAME;
    port_qname SYS.utl_dbws.QNAME;
    operation_qname SYS.utl_dbws.QNAME;
    string_type_qname SYS.utl_dbws.QNAME;
    retx ANYDATA;
    retx_string VARCHAR2(1000);
    retx_double number;
    retx_len number;
    params SYS.utl_dbws.ANYDATA_LIST;
    l_input_params SYS.utl_dbws.anydata_list;
    l_result ANYDATA;
    l_namespace VARCHAR2(1000);
    begin
    -- open internet explorer and navigate to http://webservices.imacination.com/distance/Distance.jws?wsdl
    -- search for 'targetNamespace' in the wsdl
    l_namespace := 'http://service.xmlservices.global.freedomgroup.com/';
    -- search for 'service name' in the wsdl
    service_qname := SYS.utl_dbws.to_qname(l_namespace, 'ClientCoreWebServiceBeanService');
    -- this is just the actual wsdl url
    service_ := SYS.utl_dbws.create_service(HTTPURITYPE('http://hostname/GlobalWebServices/services/ClientCoreWebService?wsdl'), service_qname);
    -- search for 'portType name' in the wsdl
    port_qname := SYS.utl_dbws.to_qname(l_namespace, 'ClientCoreWebServiceBeanPort');
    -- search for 'operation name' in the wsdl
    -- there will be a lot, we will choose 'getCity'
    operation_qname := SYS.utl_dbws.to_qname(l_namespace, 'postalCodelookup');
    -- bind things together
    call_ := SYS.utl_dbws.create_call(service_, port_qname, operation_qname);
    -- default is 'FALSE', so we make it 'TRUE'
    SYS.utl_dbws.set_property(call_, 'SOAPACTION_USE', 'TRUE');
    -- search for 'operation soapAction' under <wsdl:operation name="getCity">
    -- it is blank, so we make it ''
    SYS.utl_dbws.set_property(call_, 'SOAPACTION_URI', '');
    -- search for 'encodingstyle' under <wsdl:operation name="getCity">
    SYS.utl_dbws.set_property(call_, 'ENCODINGSTYLE_URI', 'http://schemas.xmlsoap.org/soap/encoding/');
    -- search for 'binding style'
    SYS.utl_dbws.set_property(call_, 'OPERATION_STYLE', 'DOCUMENT');
    -- search for 'xmlns:xs' to know the value of the first parameter
    -- under <wsdl:message name="getCityResponse"> you will see the line <wsdl:part name="getCityReturn" type="xsd:string" />
    -- thus the return type is 'string", removing 'xsd:'
    string_type_qname := SYS.utl_dbws.to_qname('http://www.w3.org/2001/XMLSchema', 'string');
    -- in the line <wsdl:operation name="getCity" parameterOrder="zip">
    -- the parameterOrder is 'zip', thus we put in 'zip'
    -- the 'ParameterMode.IN' is used to specify that we will be passing an "In Parameter" to the web service
    -- the 'ParameterMode.IN' is a constant variable in the sys.utl_dbws package
    --vj this cud be either params or xml
    SYS.utl_dbws.add_parameter(call_, 'param1', string_type_qname, 'ParameterMode.IN');
    SYS.utl_dbws.add_parameter(call_, 'param2', string_type_qname, 'ParameterMode.IN');
    SYS.utl_dbws.set_return_type(call_, string_type_qname);
    -- supply the In Parameter for the web service
    params(0) := ANYDATA.convertvarchar('<TFGGlobalBasicXMLDO><systemCd>GLOBAL</systemCd><username>GlobalAdmin</username><password>GlobalAdmin</password><localID>1</localID></TFGGlobalBasicXMLDO>');
    params(1) := ANYDATA.convertvarchar('<TFGGlobalPostalCodeLookupIDDO><postalCode>02446</postalCode><countryCode>USA</countryCode><stateCode>MA</stateCode><cityDisplay>BROOKLINE</cityDisplay><countyDisplay>NORFOLK</countyDisplay><include_inactive_flag>True</include_inactive_flag></TFGGlobalPostalCodeLookupIDDO>');
    -- invoke the web service
    retx := SYS.utl_dbws.invoke(call_, params);
    dbms_output.put_line(retx.gettypename);
    -- access the returned value and output it to the screen
    retx_string := retx.accessvarchar2;
    dbms_output.put_line('done' || retx_string);
    dbms_output.put_line('PL/SQL DII client return ===> ' || retx_string);
    -- release the web service call
    SYS.utl_dbws.release_service(service_);
    return retx_string;
    end email;

    thsi is urgent anybody ????

  • Using an external web service  and local element declarations

    I am attempting to use (call) an external web service from workshop
    8.1. It seems that if the web service's schema contains local element
    declarations with the same name then workshop will generate incorrect
    JCX code because it doesn't scope the generated classes.
    I think the following simple example will do a better job explaining
    than that last paragraph ;). In the following WSDL, the element
    "testLocalDec" is used inside two different element types. In XML
    Schema this is not a problem because each one is "scoped" by the
    element types its included in. However, the generated JCX (listed
    second) simply contains the testLocalDec structure twice which causes
    problems in Java.
    Is there some workaround for this? Note that making this element
    declaration in the WSDL will not work because they are different
    structures (with different names).
    Also see my next email around using XMLBeans with external services
    (since that could be a workaround if I knew how to do it).
    thanks,
    dave
    *** sample WSDL ***
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions xmlns:tns="urn:tutorial/hello"
    targetNamespace="urn:tutorial/hello"
    xmlns:s="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:apachesoap="http://xml.apache.org/xml-soap"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <wsdl:types>
    <s:schema targetNamespace="urn:tutorial/hello">
         <s:element name="sayHelloResponse" >
    <s:complexType>
    <s:sequence>
    <s:element name="sayHelloReturn" type="s:string" />
    <s:element name="testLocalDec" >
    <s:complexType />
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
         <s:element name="sayHello" >
    <s:complexType>
    <s:sequence>
    <s:element name="caller" type="s:string" />
    <s:element name="testLocalDec" >
    <s:complexType >
    <s:sequence>
    <s:element name="different" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:schema>
    </wsdl:types>
    <wsdl:message name="sayHelloRequestMsg">
    <wsdl:part name="message" element="tns:sayHello"/>
    </wsdl:message>
    <wsdl:message name="sayHelloResponseMsg">
    <wsdl:part name="sayHelloReturn" element="tns:sayHelloResponse"/>
    </wsdl:message>
    <wsdl:portType name="HelloWorld">
    <wsdl:operation name="sayHello" >
    <wsdl:input message="tns:sayHelloRequestMsg" />
    <wsdl:output message="tns:sayHelloResponseMsg" />
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="HelloWorldServiceSoapBinding"
    type="tns:HelloWorld">
    <wsdlsoap:binding style="document"
    transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="sayHello">
    <wsdlsoap:operation soapAction=""/>
    <wsdl:input name="sayHelloRequestMsg">
    <wsdlsoap:body use="literal"/>
    </wsdl:input>
    <wsdl:output name="sayHelloResponseMsg">
    <wsdlsoap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="HelloWorldService">
    <wsdl:port binding="tns:HelloWorldServiceSoapBinding"
    name="HelloWorldService">
    <wsdlsoap:address
    location="http://localhost:18080/tutorial/HelloWorldService"/>
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    *** generated JCX ***
    package helloTest;
    * @jc:location
    http-url="http://localhost:18080/tutorial/HelloWorldService"
    * @jc:wsdl file="#HelloWorldServiceWsdl"
    * @editor-info:link source="HelloWorldService.wsdl" autogen="true"
    public interface HelloWorldServiceControl extends
    com.bea.control.ControlExtension, com.bea.control.ServiceControl
    public static class testLocalDec
    implements java.io.Serializable
    public static class sayHelloResponse
    implements java.io.Serializable
    public java.lang.String sayHelloReturn;
    public testLocalDec testLocalDec;
    public static class testLocalDec
    implements java.io.Serializable
    public java.lang.String different;
    * @jc:protocol form-post="false" form-get="false"
    public sayHelloResponse sayHello (java.lang.String caller,
    testLocalDec testLocalDec);
    static final long serialVersionUID = 1L;
    /** @common:define name="HelloWorldServiceWsdl" value::
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions xmlns:tns="urn:tutorial/hello"
    targetNamespace="urn:tutorial/hello"
    xmlns:s="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:apachesoap="http://xml.apache.org/xml-soap"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <wsdl:types>
    <s:schema targetNamespace="urn:tutorial/hello">
         <s:element name="sayHelloResponse" >
    <s:complexType>
    <s:sequence>
    <s:element name="sayHelloReturn" type="s:string" />
    <s:element name="testLocalDec" >
    <s:complexType />
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
         <s:element name="sayHello" >
    <s:complexType>
    <s:sequence>
    <s:element name="caller" type="s:string" />
    <s:element name="testLocalDec" >
    <s:complexType >
    <s:sequence>
    <s:element name="different" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:schema>
    </wsdl:types>
    <wsdl:message name="sayHelloRequestMsg">
    <wsdl:part name="message" element="tns:sayHello"/>
    </wsdl:message>
    <wsdl:message name="sayHelloResponseMsg">
    <wsdl:part name="sayHelloReturn"
    element="tns:sayHelloResponse"/>
    </wsdl:message>
    <wsdl:portType name="HelloWorld">
    <wsdl:operation name="sayHello" >
    <wsdl:input message="tns:sayHelloRequestMsg" />
    <wsdl:output message="tns:sayHelloResponseMsg" />
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="HelloWorldServiceSoapBinding"
    type="tns:HelloWorld">
    <wsdlsoap:binding style="document"
    transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="sayHello">
    <wsdlsoap:operation soapAction=""/>
    <wsdl:input name="sayHelloRequestMsg">
    <wsdlsoap:body use="literal"/>
    </wsdl:input>
    <wsdl:output name="sayHelloResponseMsg">
    <wsdlsoap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="HelloWorldService">
    <wsdl:port binding="tns:HelloWorldServiceSoapBinding"
    name="HelloWorldService">
    <wsdlsoap:address
    location="http://localhost:18080/tutorial/HelloWorldService"/>
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>

    Hi David,
    The folks in the workshop newgroup may have a suggestion, if you could
    try your post there:
    http://newsgroups.bea.com/cgi-bin/dnewsweb?cmd=xover&group=weblogic.developer.interest.workshop
    Thanks,
    Bruce
    David Rees wrote:
    >
    I am attempting to use (call) an external web service from workshop
    8.1. It seems that if the web service's schema contains local element
    declarations with the same name then workshop will generate incorrect
    JCX code because it doesn't scope the generated classes.
    I think the following simple example will do a better job explaining
    than that last paragraph ;). In the following WSDL, the element
    "testLocalDec" is used inside two different element types. In XML
    Schema this is not a problem because each one is "scoped" by the
    element types its included in. However, the generated JCX (listed
    second) simply contains the testLocalDec structure twice which causes
    problems in Java.
    Is there some workaround for this? Note that making this element
    declaration in the WSDL will not work because they are different
    structures (with different names).
    Also see my next email around using XMLBeans with external services
    (since that could be a workaround if I knew how to do it).
    thanks,
    dave
    *** sample WSDL ***
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions xmlns:tns="urn:tutorial/hello"
    targetNamespace="urn:tutorial/hello"
    xmlns:s="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:apachesoap="http://xml.apache.org/xml-soap"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <wsdl:types>
    <s:schema targetNamespace="urn:tutorial/hello">
    <s:element name="sayHelloResponse" >
    <s:complexType>
    <s:sequence>
    <s:element name="sayHelloReturn" type="s:string" />
    <s:element name="testLocalDec" >
    <s:complexType />
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="sayHello" >
    <s:complexType>
    <s:sequence>
    <s:element name="caller" type="s:string" />
    <s:element name="testLocalDec" >
    <s:complexType >
    <s:sequence>
    <s:element name="different" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:schema>
    </wsdl:types>
    <wsdl:message name="sayHelloRequestMsg">
    <wsdl:part name="message" element="tns:sayHello"/>
    </wsdl:message>
    <wsdl:message name="sayHelloResponseMsg">
    <wsdl:part name="sayHelloReturn" element="tns:sayHelloResponse"/>
    </wsdl:message>
    <wsdl:portType name="HelloWorld">
    <wsdl:operation name="sayHello" >
    <wsdl:input message="tns:sayHelloRequestMsg" />
    <wsdl:output message="tns:sayHelloResponseMsg" />
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="HelloWorldServiceSoapBinding"
    type="tns:HelloWorld">
    <wsdlsoap:binding style="document"
    transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="sayHello">
    <wsdlsoap:operation soapAction=""/>
    <wsdl:input name="sayHelloRequestMsg">
    <wsdlsoap:body use="literal"/>
    </wsdl:input>
    <wsdl:output name="sayHelloResponseMsg">
    <wsdlsoap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="HelloWorldService">
    <wsdl:port binding="tns:HelloWorldServiceSoapBinding"
    name="HelloWorldService">
    <wsdlsoap:address
    location="http://localhost:18080/tutorial/HelloWorldService"/>
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    *** generated JCX ***
    package helloTest;
    * @jc:location
    http-url="http://localhost:18080/tutorial/HelloWorldService"
    * @jc:wsdl file="#HelloWorldServiceWsdl"
    * @editor-info:link source="HelloWorldService.wsdl" autogen="true"
    public interface HelloWorldServiceControl extends
    com.bea.control.ControlExtension, com.bea.control.ServiceControl
    public static class testLocalDec
    implements java.io.Serializable
    public static class sayHelloResponse
    implements java.io.Serializable
    public java.lang.String sayHelloReturn;
    public testLocalDec testLocalDec;
    public static class testLocalDec
    implements java.io.Serializable
    public java.lang.String different;
    * @jc:protocol form-post="false" form-get="false"
    public sayHelloResponse sayHello (java.lang.String caller,
    testLocalDec testLocalDec);
    static final long serialVersionUID = 1L;
    /** @common:define name="HelloWorldServiceWsdl" value::
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions xmlns:tns="urn:tutorial/hello"
    targetNamespace="urn:tutorial/hello"
    xmlns:s="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:apachesoap="http://xml.apache.org/xml-soap"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <wsdl:types>
    <s:schema targetNamespace="urn:tutorial/hello">
    <s:element name="sayHelloResponse" >
    <s:complexType>
    <s:sequence>
    <s:element name="sayHelloReturn" type="s:string" />
    <s:element name="testLocalDec" >
    <s:complexType />
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="sayHello" >
    <s:complexType>
    <s:sequence>
    <s:element name="caller" type="s:string" />
    <s:element name="testLocalDec" >
    <s:complexType >
    <s:sequence>
    <s:element name="different" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:schema>
    </wsdl:types>
    <wsdl:message name="sayHelloRequestMsg">
    <wsdl:part name="message" element="tns:sayHello"/>
    </wsdl:message>
    <wsdl:message name="sayHelloResponseMsg">
    <wsdl:part name="sayHelloReturn"
    element="tns:sayHelloResponse"/>
    </wsdl:message>
    <wsdl:portType name="HelloWorld">
    <wsdl:operation name="sayHello" >
    <wsdl:input message="tns:sayHelloRequestMsg" />
    <wsdl:output message="tns:sayHelloResponseMsg" />
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="HelloWorldServiceSoapBinding"
    type="tns:HelloWorld">
    <wsdlsoap:binding style="document"
    transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="sayHello">
    <wsdlsoap:operation soapAction=""/>
    <wsdl:input name="sayHelloRequestMsg">
    <wsdlsoap:body use="literal"/>
    </wsdl:input>
    <wsdl:output name="sayHelloResponseMsg">
    <wsdlsoap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="HelloWorldService">
    <wsdl:port binding="tns:HelloWorldServiceSoapBinding"
    name="HelloWorldService">
    <wsdlsoap:address
    location="http://localhost:18080/tutorial/HelloWorldService"/>
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>

  • Consuming an External Web Service using HTTPS and WS Security

    Hello everyone,
    I'm having a problem setting the security information in a SOAP header using a generated ABAP Client Proxy to consume an external web service that requires a User ID and Password in the Header section of the SOAP message.  I need to use HTTPS. I'm on a WAS 7.01 SP08 system so from my readings, SAP is supposed to be able to add the username and password into the header section of the message.  I can't seem to get SAP to add this information added to the header.
    Here are the steps that I have taken to set the security values.
    1) Created the client proxy from the WSDL in SE80.  Basic Authentication on the Configuration tab was turned on automatically.
           Note, Transport Security is set to None.  I cannot change it.
    2) Created an outbound set user name profile in transaction WSPROFILE with the appropriate username and password.
    3) Added the profile to the default port in transaction LPCONFIG as an outbound under the WS Security section of the screen.
    When I called the external Web Service, I got back the following error message:
    com.ibm.wsspi.wssecurity.SoapSecurityException: WSEC5509E: A security token whose type is [http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken] is required.
    So, after reading through this Forum, I saw that I needed to use the SOAMANAGER.  I set up a Proxy in the SOAMANAGER and manually created the Logical Port.  This was the only way I could figure out how to set the Authentication Settings in the Logical Port to "User ID / Password".  I then entered the User ID and Password.
    However, I am still getting the same error message.  I feel I am close but missing some small configuration to tell SAP to use WS Security with a Username token.
    I'm not sure what I'm doing wrong, so any help would be appreciated.
    Thanks,
    Stephen

    I had this error again so I thought I would post my solution:
    The issue is SAP needs to know the certificates being used by the web site being called.  These certificates are automatically installed in your browser but need to be manually installed in SAP.  This is what I did:
    How to find/install new certificates
    Make sure you run Internet Explorer as an Administrator so you can export the certificates
    Go to the web site that SAP is trying to call in Internet Explorer
    Double click on the lock in the address bar
    View certificates
    Find the certificates that are being used
    Tools --> Internet Options --> Content --> Certificates
    Click on the “Trusted Root Certification Authorities” tab
    Find the certificate identified in step iii
    Export as a CER certificate
    Click on the “Intermediate Certification Authorities” tab
    Find the certificate identified in step iii
    Export as a CER certificate
    Go to STRUST in SAP
    Import the Certificates in the “Anonymous” or “Standard” SSL client
    Save
    RESTART the ICM via t-code SMICM  <-- Critical!!!
    Test

  • Consuming external web services in CAF

    Hi there,
    I am trying to set up a show case where a composite CAF app (exposed via WD or VC) uses SAP web services as well as external services. In this case, I chose to use the Fedex web services (http://fedex.com/developer).
    Everything works fine, I am able to import the webservice using the locally stored WSDL into my composite app, apply the mapping and implement the application service......build, deploy...all good.
    The problem occurs when trying to create the physical destination (under nwa/destination template management). NW expects a pointer/url to the wsdl or wsil file, but Fedex doesn't provide that via http. Putting the wsdl on a different web server doesn't help either as the SOAP call will be routed to the same host where the wsdl resides (in this case NOT the fedex system).
    Is there any way to circumvent the WSDL retrieval with external web services in Netweaver ? One alternative solution could be to use the Netweaver Service registry and publish the fedex wsdl to that, but I would like to avoid that as we haven't configured the SR at the moment.
    Thx, Nick

    Looks like I don't need it necessarily.
    There seems to be a bug in NW/CE 7.1. When defining a destination which points to a WSDL file which in turn points to a different server for SOAP messages (ServicePort), the endpoint URL is incorrectly defined.
    WSDL URL: http://www.server1.com/test.wsdl
    SOAP URL/Port: http://server2.com/webservices
    the server tries to dispatch the SOAP call to http://server1.com/webservices which can't be found.
    In CE 7.1.1. though, that bug is fixed, and everything works fine without the need to publish the remote service (wsdl) to the SR and to subsequently query it.
    Nick

  • Consuming External Web Services in Web Dynpro Java

    Hi All,
    I an trying to consume external web service in Web dynpro java using Adaptive Web Service Model.
    But getting below mentioned error while executing the web service
    Exception on execution of web service with WSDL URL 'D:\Web Service Project\CurrencyConvertor.asmx.xml' with operation 'ConversionRate' in interface 'CurrencyConvertorSoap'
    Steps i followed are as below:
    1. Created  Adaptive Web Service Model for this i select WSDL source as "Local File System or URL"
    In next step i select No logical destination radio button and click on next
    In next step, browse the WSDL file and successfully import the WSDL file.
    2. After successfully importing the WSDL file i wrote below code in Init method:
    WebModel modelweb = new WebModel();               
    Request_ConversionRate reqConversion = new Request_ConversionRate(modelweb);
    ConversionRate conversion= new ConversionRate(modelweb);
    reqConversion.setConversionRate(conversion);
    wdContext.nodeRequest_ConversionRate().bind(reqConversion);
    3.After that execute the model - code is given below :
        IWDMessageManager manager = wdComponentAPI.getMessageManager();
        try
          wdContext.currentRequest_ConversionRateElement().modelObject().execute();
          wdContext.nodeResponse().invalidate();
          wdContext.nodeConversionRateResponse().invalidate();
        catch(Exception e)
          manager.reportException(e.getMessage(), false);
    Please let me know how to resolve this.
    Thanks
    Sandy

    Hi,
    You need to use destinations for metadata and modeldata.
    Configure those destination in Visula admin.
    you can refer to following link.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/b2bc0932-0d01-0010-6d8e-cff1b2f22bc7
    Regards,
    Shruti.

Maybe you are looking for

  • Zoom Viewer Issue

    So in the last couple of days Aperture has become unusable. I cannot view anything in the main window unless it is zoomed to a percentage. The zoom viewer which is supposed to make the image fill the screen wont show anything. Photos flash and then d

  • Itunes comes up an the store works but the library does not

    tried to update itunes that failed,, have uninstalled an reinstalled,, itunes wont come up,, when i use a restore point to go to an older version itunes comes up,, but,,, the store works,, when i try to go to my library it is stuck on my movies,, if

  • Create table with NLS_NCHAR_CHARACTERSET AL16UTF16

    Oracle Database 11g Enterprise Edition Release 11.2 Hi all, We facing with such an issue. When launching CREATE TABLE tm_table as select * from rmt_table@dblink;we get in tm_table all the varchar2 columns type size tripled, instead 1 Byte - 3 Byte, 2

  • How do you make labels with Pages

    How do you make labels with Pages or Numbers?

  • How do I edit 1080/50p from my TM700

    I have a Panasonic TM700 and am not sure if Premiere Pro CS5 can edit my footage and if it can, what preset should I use. (my computer handles the raw footage perfectly, I just don't know how to edit it)