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.

Similar Messages

  • 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

  • DNS records to be created for Lync deployment (Internal and External)

    Hi There,
    If I want the Lync server environment to work Internal as well from External in all the aspects. (auto-discover, meetings, AV conferencing,web conferencing, voice integration, mobility etc), please answer to the below questions and also their purpose please.
    I'm not sure whether the answer varies for 2010 and 2013 version.
    1. What are the Internal and External(public) DNS records to be created for the reverse proxy(assume i'm using TMG servers), and their purpose?
    2. What are the Internal and External(public) DNS records to be created for Lync Edge server, and their purpose?

    I'll try to answer as well.
    1) For the reverse proxy, you'll need to publish the following:
    External:
    lyncdiscover.sipdomain.com (You'll need this record for every sip domain you have).  This is for client autodiscover.
    external web services FQDN (You'll need one of these per pool, you get to choose the name).  This is for address book downloads, web conferencing, etc.
    Meet.sipdomain.com (You can choose the name here, and have one per sip domain or one for the whole org).  This is for web conferencing.
    Dialin.sipdomain.com (You'll just need one here, it doesn't have to be dialin).  This is for changing your conferencing/phone pin, resetting conference info, and general conferencing info.
    For Lync 2013 only, you may want the Office Web Application server pool name as well for PowerPoint sharing.  Lync 2010 doesn't use this.  
    Internal:
    The external web services FQDN.  You'll need this available internally through the reverse proxy so you can redirect requests on port 443 to port 4443.  This will be used for mobile devices on WiFi.
    2) For the Edge server:
    Externally:
    sip.sipdomain.com (you'll need one per sip domain) this is an autodiscover/multi use FQDN and should point to your access edge IP.
    webedge.sipdomain.com (edge web conferencing, you can pick any name you like).
    avedge.sipdomain.com (av edge, you can pick any name you like).
    accessedge.sipdomain.com (you'll need a name for the access edge role, however you can just use sip.sipdomain.com and save a name in your certificate request).
    Internally:
    edgepool.sipdomain.com (you can pick any name you want, it's just the name assigned to the internal edge interface.
    If you choose to have a single ip for the external edge, you can get away with just an access edge name and/or sip.sipdomain.com
    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

  • SharePoint 2013 - Office Web Apps - Internal and External Use

    I have successfully installed SharePoint 2013 and Office Web Apps on Azure VMs inside an Azure Virtual Network (IaaS model). Everyting is working well. However, my testing has shown that external users and internal users can't use Office Web Apps at the
    same time.
    Office Web Apps, installed on its own vm, accomodates an external and internal URL quite well. However, SharePoint 2013 appears to only allow one setting for WOPI Zone, either internal or external but not both. I've set the WOPI zone to Internal-HTTPS (Set-SPWOPIZone
    –Zone “internal-https”). OWA works just fine if accessed from inside the Azure Virtual Network. However, if I try to access from outside the Virtual Network, from the Internet, Office Web Apps fails. The exact oppisite is also true. I can set WOPI Zone to
    External-HTTPS and accessing from the Internet works fine, but accessing inside the Virtual Network fails.
    Am I missing something? I, obviously, want Office Webs Apps to function properly for both internal and external users simultaneously.
    I appreciate any help anyone can provide here.
    Glenn

    Hi Glenn,
    To have both the use of Internet and Internal available to your end-users, you first need to configure AAM setting. Open Central Administration > Application Management > Configure alternate access mappings. Let's say there is an existing web application
    named http://sharepoint and my end-users from local network are able to access it using the URL http://sharepoint (root site collection). Here you need to add the Internet URL by select the web application and click Edit Public URLs. Add the Internet domain
    to the web application, e.g http://sharepoint.abc.com. You don't necessarily have to edit binding setting in IIS. Before continuing next steps, make sure you are able to access http://sharepoint.abc.com from the Internet while being able to access http://sharepoint
    from local network (aka Internal).
    On the machine where Office Web App (OWA) Server 2013 is installed, open PowerShell to add OWA module and use the following command to re-create a new OWA server farm if you've completed configuring it previously.
    New-OfficeWebAppsFarm -InternalUrl "http://owa" -ExternalUrl "http://owa.abc.com" -EditingEnabled.
    In this case, I'm not using SSL certificate to encrypt data over the Internet. You can use Internet-public IP of the OWA server like -ExternalUrl "http://198.xxx.xxx.xx". Add CertifcateName parameter if you want to use whether CA-issued certificate
    or self-signed certificate.
    On your SharePoint machine, you need to re-bind all WFE machines to WAC farm using the cmdlet New-SPWOPIBinding. Next, you need to set the WOPI zone for both internal and external.
    Set-SPWOPIZone -zone "external-http"
    Note: I'm not all using certificate in my guidance. But the steps to have it configured is just to add more parameter. 
    I've recently successfully deployed OWA multi-server farm for both internal and internet uses for two big clients. In real-world scenario, ideally OWA should be published through firewall (Forefront UAG, TMG, F5...etc). Please let me know if you still have
    issues after following my steps. My email: [email protected]
    Regards,
    -T.s
    Thuan Soldier
    A 23-year-old man loving Microsoft technologies and making crazy ideas on business journey.
    SharePoint Vietnam |
    Blog | Twitter

  • Calling external Web Service: PI is looking for a logical port and proxy.

    Hi,
    My scenario is  ECC Proxy -> PI -> External Webservice (WS adapter).
    the Web service adapter fails with the error message:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Call Adapter
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="INTERNAL">WS_ADAPTER_SYS_ERROR</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:Stack>System error while calling Web service adapter: Error when initializing SOAP client application: &#39;error_text&#39;</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    When I debug the message processing, it is looking for a port in table SSRVRTCONFIG, finds it(entry created automatically when WS adapter and the corresponding receiver agreement is activated in ID.
    Then the program looks for an entry in "SRT_CFG_CLI_ASGN" for a proxy and logical port combination and errors out.
    to be able to call an external web service, do we need a proxy to be created? I tried to create but the proxy creation fails because the external WSDL has some unsupported tags.
    Also do we need to do any other configuration in SOAMANAGER? I am assuming not because the Web service is external.
    Any help would be appreciated.
    Thanks
    Vijay

    I already checked that note and made sure that the points mentioned are met. I have a trace set up on the target system and would know if the call reaches them and then fails in authorization. Right now the call doesnt even reach the target system and also from debugging I know that the program is looking for a proxy and then fails.

  • 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

  • External Web Service - User and password in HTTP header

    Hi!
    How is it possible to add user and password in the HTTP header in a external web service call? 
    I have created a "Portal Service from WSDL file - Client side" with the wizard in SAP Developer Studio.  I following the Java Development Guide - Web Service Security, and use the <i>secured service connection</i>.  I have also created a new <i>System Landscape</i>, but should the new system be based on HTTP, my own PAR or what?
    How can I check that the user and password is added to the HTTP header or the SOAP envelope? Do I have to scan http traffic with a proxy as Paros or can I find the request sent from SAP EP in the logs?
    Cheers
    Asle

    Hello All,
    I have been struggling a bit while putting a reasonable security framework on a jax-rpc style web service. I'm using JWSDP1.2 to set up the webservice. I've tried to outline my problem below. Please correct me where I'm wrong.
    I've been through the Sun's WS tutorials, but they are not really clear on security. However, from them I surmised that there are two decent authentication techniques. HTTP Basic and mutual authentication (MA) . Both have their drawbacks though. HTTP Basic suffers from poor encryption while MA is a bit difficult to set up on both client and server sides. Another problem with MA is that there is no central repository for users/passwords.
    OK, what I would really like to do is use my own user database to verify users/passwords i.e. use a HTTP Basic like authentication (but at application level) but run it over SSL for encryption. It seems simple, but is it possible?
    Also, I have noted that when I use HTTP Basic on the service side, and use a java client, then setting username/password has no effect. In other words, I can always access the web-service, even with wrong username/password.
    Sorry for the long post. Hope someone can help. Thanks.

  • MDB receive a message and then call an external web service

    Title basically says it all, but I'm looking for suggestions for the best way to have a message driven bean receive a message then process it and call an external web service with the results. This seems like a straightforward problem to solve but I keep getting stuck in the deployment to weblogic when I do it my way so I'm looking for new ideas.
    Basically, I have an MDB that gets deployed to WL 10.3 and receives messages just fine. Also, I have a standalone class, that runs from the command line or IDE, that can send messages to the external web service. But when I try to bring the code from the standalone class into the MDB and get it deployed, I can't get all the dependencies to resolve.
    So, is there a proper (quick and easy) way to do this? Which wizard should I be using to get Workshop to create web service client so that I can use it in my MDB project? Any suggestions to tutorials?
    Thanks,
    Matt

    Yes BusinessService is the reference point used in OSB to call a backend provider service. So we need to configure the business service based on the external service (they can be http based, jms based, etc ..)
    In your case I am assuming it is a http based web service. So below are the steps to be done:
    1. Create a business service (if you dont have a wsdl then create it as "Any soap type" else upload the wsdl as a wsdl resource and then use it) and configure the url of the business service with the URL of the external service you want to invoke.
    2. From the proxy flow, have a service callout action and select the business service. Then configure the appropriate body and header variables.
    3. Then test the proxy service from the test console, you should be able to see the response from the external service as a part of the service callout response.
    Let me know if you still have issues.
    Thanks,
    Patrick

  • [OSB and OWSM] - External Web service stacks and frameworks

    Hi everyone ! I'm starting to read about OSB and OWSM and I'm having some doubts. I've some developments of Web services with external Stacks like CXF, JBossWS, Metro and I'd like to ask some questions:
    1- Will I be able to productively leverage all features of OSB and OWSM like creating a proxy service to add WS-* standards policies and features (WS-Security, for instance) even with these web services implemented in different stacks other than Weblogic's ?
    2- If it is possible, do these web services need to be deployed at the Weblogic server to enable the OWSM and OSB to work effectively ?
    3- Even if it is possible to use the OSB and OWSM nicely with webservices developed at external stacks and deployed at other application servers is there any reason to quit using these external web service stacks in favor of Weblogic's (like features only enabled on OSB/OWSM when the services use the Weblogic stack) ?
    I suppose that if I ignore the JAX-WS stack from Weblogic and use an external framework (like CXF) I'll lose most of the application server administration capabilities since the Weblogic server won't be able to recognize the CXF stack as it does with its own.But, the main doubt I'm in is, since OSB and OWSM might be used with external providers I probably won't need to develop my web services using the Weblogic implementation (which my team does not yet know) since there will be no features of the OSB and OWSM which can only be used with the Weblogic's stack. I would like, please, to know your oppinions about these considerations. Sorry about the long post and possible errors (I just started learning).
    Thank you!

    Hi Lupan,
    I can speak mostly to OWSM as my experience with OSB is small thus far.
    +1- Will I be able to productively leverage all features of OSB and OWSM like creating a proxy service to add WS-* standards policies and features (WS-Security, for instance) even with these web services implemented in different stacks other than Weblogic's ?+
    OWSM (10gR3) has two types of policy enforcement point (PEP) -- Gateway and Agent. The Gateway acts as a remote proxy and is neutral to the service implementation technology as long as it adheres to SOAP 1.1. In this regard you can use OWSM freely with CXF, MS implementations, etc. Agents run in-process with the service and thus have far greater restrictions on what service implementation frameworks and containers that are supported. There is some certification for AXIS 1.x running in OAS and Tomcat; but practically speaking, my recommendation for Agents is to only use within OAS 10gR3 where it is built in (and using OC4J Web Services through JAX-RPC).
    OWSM 11gR1 initially supports only agent-style (in process) PEP and is built-in to Fusion Middleware and WLS. It is only for Fusion and WLS Web Service implementations.
    OWSM is quite full-featured for WS-*.
    +2- If it is possible, do these web services need to be deployed at the Weblogic server to enable the OWSM and OSB to work effectively ?+
    "No" if using OWSM Gateway PEP. A qualified "Yes" if using OWSM Agent PEP.
    +3- Even if it is possible to use the OSB and OWSM nicely with webservices developed at external stacks and deployed at other application servers is there any reason to quit using these external web service stacks in favor of Weblogic's (like features only enabled on OSB/OWSM when the services use the Weblogic stack) ?+
    There is the manageability that you mention, but also there is the identity propagation scenario and tight security integration. Both OAS and WLS hosted services in the native stacks (JAX-RPC and JAX-WS) allow sophisticated and secure passing of identity in the request -- for instance, via SAML Assertions in the WS-Sec header -- and built-in capabilities to map the passed identity into the running service's Subject (i.e. enabling JAAS security etc.).
    In my experience this type of identity propagation functionality has either been absent or less complete in other typical implementation frameworks not closely aligned with the container security mechanisms.
    Hope this helps,
    Todd

  • Consume external web service and experience connection timed out issue

    Hi all,
    I followed tutorial:http://docs.oracle.com/cd/E18941_01/tutorials/jdtut_11r2_14/jdtut_11r2_14.html to consume external web service.
    At step 2,substep 4, I experience the following error:
    "DCA-40002: The WSDL document is invalid due to the following reason: WSDLException: faultCode=PARSER_ERROR: Failed to read wsdl file at:"http://www.webservicex.net/WeatherForecast.asmx?WSDL". Caused by : java.net.ConnectException: java.net.ConnectException: Connection timed out: connect."
    I have tried to set up proxy:Tools > Preferences->Web Browser and Proxy. But it still doesn't work. Any idea?
    Thanks in advance.
    Regards,
    weiyang
    Edited by: user13304960 on Mar 15, 2012 8:42 PM
    Edited by: user13304960 on Mar 15, 2012 8:43 PM

    Hi,
    Thanks for your reply. I have tried these 2 tutorials before. Both worked well. Publish an web service by myself, then consume it with a client. It works. But for this external wsdl published by USA weather forecast, it doesn't work. Navigate to http://www.webservicex.net/WeatherForecast.asmx?WSDL through firefox, and right response is returned. I wonder why connection timed out occurred and how to deal with it.
    Could you please share your experience with me? Thanks.
    Thanks.

  • 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

  • Non-Web Server Publishing Rule for Internal and External

    Hi there,
    I have a problem with my TMG and publishing SSH for Internal and External users to an internal Server.
    Network:
    Internal Network
    SSH Server, 10.10.10.25
    Internal DNS record "ssh.domain.com" pointing to 10.10.10.254
    TMG Server, 10.10.10.254/192.168.0.254
    External Network
    External DNS record "ssh.domain.com pointing to 192.168.0.254
    I want my users (internal AND external) using their SSH client to connect to ssh.domain.com and TMG to forward the request to the SSH server. Note that internal clients and the SSH server are in the same network.
    I have created a custom "SSH Server" protocol with inbound TCP for port 22 and created a Non-Web Server publishing rule.
    Traffic Tab: SSH Server Protocol
    From Tab: Internal, External
    To Tab: 10.10.10.25, original client
    Networks Tabs: Internal, External
    External users cann connect without a problem, all fine here. Internal users get a timout. The TMG Log says: Denied Connection (Default Rule,
    The policy rules do not allow the user request) and doesn´t recognize this is an inbound request. The log gives me dest IP 10.10.10.254 and protocol SSH and not 10.10.10.25 and SSH Server.
    I read a lot of networking rules and NAT/Routing, tried a bit but never got a success.
    Can you help me fix or working around this and tell me whats going on there and if there a limitations in TMG I don´t know yet?
    Regards,
    Sascha

    Hi,
    According to your description, it seems that request was denied by the TMG rules so the request from the internal users
    could not be forwarded to the SSH server. I would appreciate it if you can post the logs to us and the results of running ipconfig/all on the TMG server.
    In addition, maybe you can change the firewall policy only from
    External and add another firewall policy for the internal user to see if the issue persists.
    More information:
    Creating and using a server protocol
    TMG
    Back to Basics - Part 1: Server Publishing Rules
    Best regards,
    Susie

  • 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>

  • 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.

Maybe you are looking for