Render:resourceUrl Tag exposing Producer IP address

I have an image yellow1.gif inside ProducerApp running on WLP 10.3.2. When I expose my portlet over WSRP, I use
<render:resourceUrl contextualpath="/resources/images/yellow1.gif"/> which renders the URL as follows on the ConsumerApp. The image renders right on consumer side.
http://localhost:7001/ConsumerApp/resource/cs__pageLabel%3Dtest_portal_page_2%26_portlet.portalUrl%3D%252FConsumerApp%252Ftest.portal%26_st%3D%26_windowLabel%3DhelloWorld_1_1/u_/id_/rr_true/po_false/rs_/rc_/iu_http%3A%2F%2F123.45.67.87%3A7001%2FProducerAPP/*wsrp*separator/resources/images/yellow1.gif
Functiality wise the URL rewriting is fine. But in security terms, it is not good to expose the Producer IP (Please note last 20-30 chars in above URL..U see the producer IP i.e123.45.67.87) that is appering the rendered URL. Is there a way to encryt the URL or any other mechanism to not expose the producer IP?
Thanks in advance.

Hello,
There are a few ways you could hide the producer IP address:
1) On the consumer machine, define a name for the producer in the consumer machine's OS hostname resolution table and use that instead. For example, in Linux you can put an entry for the producer's IP address in /etc/hosts and give it a name like "producer.sample"-- it doesn't even have to be a "normal" DNS name since it is handled only on the consumer machine.
2) If your portlet is a JSR286 portlet, you could just make it a portlet-served resource; I believe the producer address information is not encoded directly into those resource URLs.
3) You could write a WSRP interceptor on the consumer to look for and re-write those URLs, then a resource proxy interceptor (also on the consumer) to take your altered URLs and change them back into something the resource proxy servlet can pin back to the appropriate producer.
Kevin

Similar Messages

  • Render:resourceUrl

    I'm using render:resourceUrl tag for images in my jsp page.
    It works fine when I use <img src='<render:resourceUrl path="/resources/images/universal_white.GIF"/>'>
    Also, works when I use
    <%
    String
    imagePath = "/resources/images/universal_white.GIF";
    %>
    <img src='<render:resourceUrl path="<%=imagePath%>"/>'>
    However, does not work when I do like this:
    <%
    String
    imagePath = "/resources/images";
    %>
    <img src='<render:resourceUrl
    path="<%=imagePath%>/universal_white.GIF"/>'>
    Any help would be greatly appreciated

    Hello,
    There are a few ways you could hide the producer IP address:
    1) On the consumer machine, define a name for the producer in the consumer machine's OS hostname resolution table and use that instead. For example, in Linux you can put an entry for the producer's IP address in /etc/hosts and give it a name like "producer.sample"-- it doesn't even have to be a "normal" DNS name since it is handled only on the consumer machine.
    2) If your portlet is a JSR286 portlet, you could just make it a portlet-served resource; I believe the producer address information is not encoded directly into those resource URLs.
    3) You could write a WSRP interceptor on the consumer to look for and re-write those URLs, then a resource proxy interceptor (also on the consumer) to take your altered URLs and change them back into something the resource proxy servlet can pin back to the appropriate producer.
    Kevin

  • How to render liquid tags in the console?

    Hello!
    I have been trying to render liquid tags in the browser's console using Javascript, but it doesn't work.  This is what I have been doing:
    document.getElementById('globals').innerHTML = '<pre>{{globals | json}}'</pre>;
    That just seems to write {{globals | json}} to the web page.

    BC's tag parser is only applied to files that are considered 'pages', and only runs once, when the page is served. It doesn't get applied to javascript files, and it is not directly accessible from the browser.
    If you need to refresh the display of globals without reloading the page, you could create dedicated page that contains only {{ globals }} and GET it with the JSON=true parameter.

  • Using render:pageUrl tag

    Good Day,
    <p>
    I am using the <render:pageUrl> tag to render content in a page/portlet. Selecting a link constructed by the pageUrl tag the page renders OK but only once. I attempt to use the <render:pageUrl> several times to call the same page/portlet but the called page/portlet does not refresh with new content.
    <p>
    The begin() action in the called jpf (Test_Data_Page) is only called once, after the first call it is not called by subsequent calls using the other constructed URLs.
    <p>
    Each of the following URLs exist on a single portlet. I want to render different content based on the selected link. Help please?
    <p>
    a href="<render:pageUrl pageLabel="Test_Data_Page">
    <render:param name="test" value="test1" /></render:pageUrl>">test 1</a>
    <p>
    a href="<render:pageUrl pageLabel="Test_Data_Page">
    <render:param name="test" value="test2" /></render:pageUrl>">test 2</a>
    <p>
    a href="<render:pageUrl pageLabel="Test_Data_Page">
    <render:param name="test" value="test3" /></render:pageUrl>">test 3</a>
    <p>
    Thank you,<br>
    Everette

    Thanks for the tips. I was using the same syntax as in the docs, but let me try
    this one. Also, maximizing the portlet will not work, because even in the detailed
    view, there are a couple other portlets that still need to be shown.
    I also tried the syntax suggested below, but it always returns http://localhost:7001/myportal
    as the url. Not sure what is going wrong.
    L
    "George Murnock" <[email protected]> wrote:
    >
    Another thing to consider instead of switching pages is to simply maximizing
    the
    news portlet when someone clicks a news item link. Maximizing will a)
    make your
    news portlet take up all the real estate on the page, and b) stop all
    the other
    portlets on the page from rendering. You can use the windowUrl tag (http://edocs.bea.com/workshop/docs81/doc/en/portal/taglib/www.bea.com/servers/portal/tags/netuix/render/windowUrl.html)
    to do it.
    Hope that helps,
    George
    "Khurram Zafar" <[email protected]> wrote:
    Post your code snippet. How are you using render:pageUrl? And how are
    you posting
    a request parameter to be picked up by the target portal page??? Inthe
    meantime,
    try this approach, it works for us:
    <render:param name="newsId"
    value="123"/></render:pageUrl>">This is a News Heading</a>
    Cheers
    Khurram
    "Cameron Rakaai" <[email protected]> wrote:
    I am having problems using the render:pageURL tag. It seems to always
    return null.
    Any clues?
    Basically, I have a portlet that shows news items. This page has several
    other
    portlets also. What I need to do is - when a user clicks on any news
    item, I need
    to show the detailed news item. I am open to ideas on how to do this
    - the key
    issue is that the detailed news items need more screen space - thusother
    portlets
    need to be hidden. I think the best solution is to call a new pagewhich
    has a
    portlet to handle the detailed news. So all I should have to do iscreate
    a link
    to this new page, and pass it the newsId. Thus I was using the render:pageURL,
    but it seems to return null.
    Ideas?
    Thanks
    Cameron

  • Render:pageURL tag

    I am having problems using the render:pageURL tag. It seems to always return null.
    Any clues?
    Basically, I have a portlet that shows news items. This page has several other
    portlets also. What I need to do is - when a user clicks on any news item, I need
    to show the detailed news item. I am open to ideas on how to do this - the key
    issue is that the detailed news items need more screen space - thus other portlets
    need to be hidden. I think the best solution is to call a new page which has a
    portlet to handle the detailed news. So all I should have to do is create a link
    to this new page, and pass it the newsId. Thus I was using the render:pageURL,
    but it seems to return null.
    Ideas?
    Thanks
    Cameron

    Thanks for the tips. I was using the same syntax as in the docs, but let me try
    this one. Also, maximizing the portlet will not work, because even in the detailed
    view, there are a couple other portlets that still need to be shown.
    I also tried the syntax suggested below, but it always returns http://localhost:7001/myportal
    as the url. Not sure what is going wrong.
    L
    "George Murnock" <[email protected]> wrote:
    >
    Another thing to consider instead of switching pages is to simply maximizing
    the
    news portlet when someone clicks a news item link. Maximizing will a)
    make your
    news portlet take up all the real estate on the page, and b) stop all
    the other
    portlets on the page from rendering. You can use the windowUrl tag (http://edocs.bea.com/workshop/docs81/doc/en/portal/taglib/www.bea.com/servers/portal/tags/netuix/render/windowUrl.html)
    to do it.
    Hope that helps,
    George
    "Khurram Zafar" <[email protected]> wrote:
    Post your code snippet. How are you using render:pageUrl? And how are
    you posting
    a request parameter to be picked up by the target portal page??? Inthe
    meantime,
    try this approach, it works for us:
    <render:param name="newsId"
    value="123"/></render:pageUrl>">This is a News Heading</a>
    Cheers
    Khurram
    "Cameron Rakaai" <[email protected]> wrote:
    I am having problems using the render:pageURL tag. It seems to always
    return null.
    Any clues?
    Basically, I have a portlet that shows news items. This page has several
    other
    portlets also. What I need to do is - when a user clicks on any news
    item, I need
    to show the detailed news item. I am open to ideas on how to do this
    - the key
    issue is that the detailed news items need more screen space - thusother
    portlets
    need to be hidden. I think the best solution is to call a new pagewhich
    has a
    portlet to handle the detailed news. So all I should have to do iscreate
    a link
    to this new page, and pass it the newsId. Thus I was using the render:pageURL,
    but it seems to return null.
    Ideas?
    Thanks
    Cameron

  • JSF tags and produced html

    Hi all i have a question. Why do the JSF tags produce html that is laid out with tables rather than divs? I've tried to get the jsf framework adopted in my organisation and its this, and i quote 'Poor html' that is blocking the adoption.
    Any one got a good answer i can take to the CTO please?
    The only thing i could come up with was cross browser compatibility.

    The CTO is about ten years out of date if he is allergic to HTML tables. Everybody does it except wannabe HTML gurus who invented this 'issue'. It might have been a problem once. Not now.

  • Is there a tag to add email address to the invoice email?

    The one tag that seems to be missing is the customer's email address to go on the invoice email.  Does anyone know if this exists?
    Would be very useful so that all customer information is in one place.

    {tag_recipientaddress}

  • Podcast producer ethernet address

    Hi there trying to get podcast producer to work, it runs jobs in xgrid until about 90% then fails when it is trying to post to blogg i noticed that the mac address in my workgroup manager is giving the the WAN port address and not the LAN address i would have thought it needed as i'm running a NAT network. Just wondered is this important? Also what user should you run jobs as? On the BLOGG it says their is a student group but when i go to it, it says 404 no group is hosted on this server????
    Any ideas?

    it turned out to be a problem with not binding the cameras or having mail service started and was running xgrid as the wrong user, i had to use pcastadmin

  • Tags or keywords for Address Book?

    I'm surprised to find that Address Book doesn't seem to offer any sort of tags, keywords, or categories for contacts. I've searched the web and can't seem to find any information about this, or a plugin that do for Address Book what MailTags does for Apple Mail. Does anyone know of something to help???

    I mostly use groups for both those purposes. I also use the company field as a sort of tag, since very few of my contacts are companies rather than individual. So I have contacts with builder or plumber or electrician in the company field - but this won't work for you if you need that field for company names. The other field you can use is the notes field; you could put several tags in, and you wouldn't need any special separator as search will find them.
    The advantage of groups, for me, is that you only have to type the tag or category once and you can so quickly isolate all those in the group. A contact can of course be in multiple groups; indeed a group can be in a group.
    AK

  • How to render HTML tags in FDF file?

    We're creating PDF files using FDF format. Unfortunately, when it comes to displaying characters like © (&copy;),  ® (&reg;); and ™ (&trade;) they are simply rendering as &copy; rather than the proper symbol they represent.
    Is there a way to tell the FDF to render this properly?
    Dave

    HTML centric jargon, the &[something], is the problem. Each character of a "&[something] has a defined value that maps to Unicode. That is what PDF works with (Ref. ISO 32000-1).
    Try using the actual ANSI number for the characters. Again, PDF is not HTML.
    ANSI 0169 for ©
    ANSI 0174 for ®
    ANSI 0153 for ™
    Be well...

  • How do I add web app tags to web app fields and have them render correctly?

    - I have a webapp field entitled "Status".
    - I have a webapp fields entitles "Status-Listed".
    - I want to have a tag in the description field that is {tag_Status-{tag_Status}} to where if the Status field is set to Listed the result will be {tag_Status-Listed} and will return the value in the Status-Listed field.
    - It works, and returns the value:
    <h2>Listed</h2>{tag_county} County<br />{tag_firstname} {tag_lastname} | {tag_address1}, {tag_address2} {tag_city}, {tag_state} | {tag_zipcode} | {tag_phone}<br />{tag_status} | <em>
    - However, this will display as the text entered when the tag is rendered from Design view. If I place the code in the HTML view it will render each tag correctly. What I am seeking to do is apply four different types of stylings to the listing, as in Listed, Not Listed, Rejected, No Answer, etc. That way in my directory I can have the status determine the type of look each listing has based upon the Status field.
    Any thoughts from the community?

    I am not sure I follow what you are explaining, but, I will try to give you an idea. Wrap all of your HTML in a div with a class of {tag_Status-{tag_Status}}. you can then style as necessary. However, if this involves hiding certain elements, then I would suggest using a custom template for each type of listing.

  • Xsl:message producing extra tags in output from stylesheets

    If a tag is produced but not ended and xsl:call-template or xsl:apply-templates calls a template that has a xsl:message tag the (not ended) tag is produced again (but not ended) and the output will have 2 start tags but only one end tag.
    It works correctly if an end tag, xsl:comment or text is produced before the xsl:message. It makes no difference if there is any other element, not producing output, between the start tag and the xsl:message. It also works if a start tag is produced before the xsl:message in the same template.
    I have tested this with xmlparserv2 version 9.2.0.4.0, 9.2.0.5.0 and .xdk_version_10.1.0.0.0A_beta and they are all producing the same error.
    Here is a simple stylesheet producing the error:
    <?xml version='1.0' encoding='UTF-8'?>
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="messageTest">
    <xsl:text>test</xsl:text>
    <in>
    <xsl:call-template name="message"/>
    </in>
    </xsl:template>
    <xsl:template name="message">
    <xsl:message>in here</xsl:message>
    <html>
    </html>
    </xsl:template>
    </xsl:stylesheet>
    And here is simple xml transformed by the stylesheet:
    <?xml version="1.0" encoding="UTF-8"?>
    <messageTest><test>TEST</test>
    </messageTest>
    And here is the transformed output using oraxsl:
    bash# /usr/java/jdk1.3.1_07/bin/java -classpath xmlparserv2.jar oracle.xml.parser.v2.oraxsl test.xml pages.xsl
    <?xml version = '1.0'?>
    file:/home/pontus/vodafone/pages.xsl:
    Message: in here
    file:/home/pontus/vodafone/pages.xsl:
    Message: in here
    test<in><in><in><html/></in>
    If think this is a bug, but if it isn't please help me find the error in the stylesheet.
    /Pontus

    html-output
    <html>
    <body>
    <img src="1.jpg"/>
    <img src="2.jpg"/>
    </body>
    </html>
    Please help me!

  • How to render custom JSP tags

    We have our own custom JSP tag libraries (some of them extend the Struts tags, but many do not) and want those to render correctly in the design view.
    Is that supported by NitroX Struts, or will it only work with built-in Struts tags?
    If it is supported, how does one get NitroX to run the custom tags?

    It is possible to customize many aspects of the rendering of a custom tag. This is done using a combination of an M7 specific metadata, and standard css rules.
    For example, you can change the label, icon and border of a custom tag by doing the following steps:
    1) Create a folder named "nitrox" where your tld file is located. For example if you have "/WEB-INF/app.tld" then create a
    folder "/WEB-INF/nitrox/".
    2) In the nitrox folder created above, create a file named "app.tlei" (for Tag Library Extra Information). The file name used here should match the name of the tld file. In this case "app".
    3) Paste the following content in the app.tlei file:
    <taglib-extrainfo>
    <css-uri>app.css</css-uri> <!-- an optional css file relative to this tlei file -->
    <tag name="myTag">
    <display-name>My Tag</display-name> <!-- The name displayed in the Tag Libraries view -->
    <rendering-label>{tag-name} ({name})</rendering-label> <!-- This will display the value of the "name" attribute in addition to the tag name in the tag view in the JSP design editor. -->
    <small-icon>images/myTag.gif</small-icon> <!-- The image uri relative to this tlei file. This is used in the Tag Libraries view and in the JSP design editor.-->
    </tag>
    </taglib-extrainfo>
    All customization tags are optional.
    4) Create the css file referenced from the tlei file above (in this example app.css in the same directory containing the tlei file).
    5) Paste the following content in the app.css file:
    myTag {border: 1 solid red; display: "inline"}
    This will render the tag as inline (i.e as one graphical object) even if the tag has nested content.
    In addition, you can use any standard css style property.
    You can customize other tags in the same fashion.
    If a custom tag inherits from a Struts tag, then the tag can inherit the full built-in tag customization as shown in the following example:
    Suppose you have a tag named "myText" that extends the Struts html:text form field tag. To inherit the NitroX html:text customization you follow the steps:
    1) insert the following in the tlei file described above:
    <tag name="myText">
    <inherit taglib-uid="http://jakarta.apache.org/struts/tags-html" tag-name="text" />
    </tag>
    2) Insert the following css rule in the css file referenced from the tlei file:
    myText {m7-inherit: "input-text"; display: inline}
    This will inherit the built-in css style for form text fields.
    Likewise, you can inherit the other Struts tags css styles by using the following rules:
    myPassword {m7-inherit: "input-password"; display: inline}
    myCancel {m7-inherit: "input-submit"; display: inline}
    myCheckbox {m7-inherit: "input-checkbox"; display: inline}
    myRadio {m7-inherit: "input-radio"; display: inline}
    mySelect {m7-inherit: "select"; display: inline}
    myTextarea {m7-inherit: "textarea"; display: inline}
    3) The inherited tag library file (in this example the struts-html.tld), must also be present under the WEB-INF directory.
    M7 Support

  • Getting producer resource URLs in a WSRP consumer

    I have 2 WebLogic 8.1 portal domains, a producer (ProducerDomain) and a consumer (ConsumerDomain). The producer domain has a portlet that displays an image that is local to the producer (i.e. http://localhost:7001/ProducerDomain/images/image.jpg). The consumer portal then creates a remote portlet of this producer portlet, and the end result should be that the consumer application should see the image that is local to the producer in its remote portlet.
    The problem is, I can't figure out how to create the URL to the image on the producer side in such a way that the consumer can see the image. I have tried the following in my producer portlet:
    <render:resourceUrl var="theURL" path="/images/Sunset.jpg" />
    img1 = <img src="<%=theURL%>">
    img2 = <img src="<%=request.getScheme()%>://<%=request.getServerName()%>:<%=request.getServerPort()%><%=request.getContextPath()%>/images/Sunset.jpg">
    The img2 URL works fine, because it simply gets the producer URL and hard codes that into the img tag. However, this doesn't seem like the right way to be URL writing in WSRP. The resulting values in the consumer remote portlet are the following:
    img1 = <img src="http://localhost:7011/ConsumerApp/resource;jsessionid=GRVL8lVvxvlY8Wj1JGzXSkJ6hJGRM0WhjnkKh5HZLT0wJbygZGYQ!1580368832?_windowLabel=portlet_1_1_1&wsrp-urlType=resource&wsrp-url=http%3A%2F%2Flocalhost%3A7001%2Fimages%2Fimage.jpg&wsrp-requiresRewrite=false">
    img2 = <img src="http://localhost:7001/ProducerApp/images/image.jpg">
    img2 works fine, but img1 does not. I think I'm missing something in the way I should be creating this URL. If anyone has any ideas, they would be greatly appreciated!
    Thanks.

    Anyone have any ideas on how to get this working correctly? I've already read through the following document:
    http://dev2dev.bea.com/pub/a/2005/02/urls_in_portal.html
    But I can't seem to see any concrete examples on how to get this case to work.

  • Posting to PartnerLink with No Exposed WSDL?

    I have a web service that I am posting to that hosts it directly on a url like this .... http://server:81/. There is no exposed ?WSDL address. When I put this URL with port in the location in my config file I get an error when I try to post to it. For other partner link config file locations you put the full path to the WSDL files.
    <summary>oracle.fabric.common.FabricException: Cannot read WSDL "{http://www.upslogisticstech.com/UPSLT/TransportationSuite/TransportationWebService}TransportationWebService" from Metadata Manager.: WSDLException: faultCode=INVALID_WSDL: Invalid XML in document at: http://server:81/, line: {1}, column: {2}: oracle.xml.parser.v2.XMLParseException: End tag does not match start tag 'br'.</summary>
    <reference name="XXXX">
    <!--Add search and replace rules for the binding properties-->
    <binding type="ws">
    <attribute name="port">
    <replace>http://www.upslogisticstech.com/UPSLT/TransportationSuite/TransportationWebService#wsdl.endpoint(TransportationWebService/TransportationWebService)</replace>
    </attribute>
    <attribute name="location">
    <replace> http://server:81/</replace>
    </attribute>
    <property name="weblogic.wsee.wsat.transaction.flowOption">
    <replace>WSDLDriven</replace>
    </property>
    </binding>
    </reference>
    When I created the partnerlink I have the unexposed WSDL when I create it. I just referenced a local wsdl file in the project. I can import this WSDL in soapUI and post directly to the port ok. How do I configure this in my partner link? I don't want the location to expect a WSDL file.

    Hello,
    What you try to do is certainly possible. When I look at your config plan, replacing the port name looks suspect to me. Is that port name the same as the port name in your local wsdl file?
    I would try to make it work without using a config plan first. So modify the location in the composite.xml and try if that works. After that you can go on and create a config plan to replace the location.
    Greetings,
    Wilco

Maybe you are looking for

  • SOAP adapter exception

    Hi Everyone, I tried to implement the following scenario SOAP--> XI --> IDOC(R/3). I created all the necessary objects,mapping, Channels. When tried to check the SOAP adapter with http://<hostname>:50000/XISOAPAdapter/MessageServlet?channel=:<service

  • Errors with reading images

    i am creating a paint program with which users will be able to import their own images. this is my first applet so i do not know how to fix these runtime errors i am receiving. they are: java.security.AccessControlException: access denied (java.io.Fi

  • How do I get rid of the cardDAV pop up

    How do you get rid of cardDAV POP UP

  • TimeStamp - Add Months

    Dear All, I have the requirement to calculate an opportunity 'contract end date' as follows: User Populates: Contract Start Date = 01/11/2008 Contract Duration (Months) = 4 Calculation Required: Contract End Date = 01/03/2009 Any suggestions? A simpl

  • Opening the resource catalog from oracle composer add-on

    Hi, I have a requirement where in I want to have only one button for adding a content on the webcenter portal application in edit mode during runtime. By default, adding a content on the page is a two step process. First, we have to click on the one