Enterprise Link (Consuming Message from queue)

Hi , I start to use the enterprise link studio and I want to know if there is a way to see the content from a queue , for example I configure in Architect an EMS , and in enterprise link I create Oracle BAM Enterprise Message Receiver , now I want to know if this configuration is correct and the content of my message, more over I want to parse the content of this xml message and input in some variable( is this possible?)
Thanks a lot.

Hi,
You can do this by creating a plan connecting the EMS receiver to a Grid (listed under display sinks ) and then clicking update. This will display the raw message.
Replacing the Grid with Oracle BAM Insert sink you can put the data in a BAM dataobject as a single long string to begin and then add a xsl transformation to EMS (under BAM Architect) to parse. See the samples/tutorials on OTN
Thanks
Ranga

Similar Messages

  • Receive activity pending when trying to consume message from Queue

    Hi ,
    I'm using a BPEL process to publish and subscribe message into a queue using JMS adapter.The messages in Queue are produced and consumed properly . But the BPEL process is still running, with a receive activity used to consume that queue, in pending state. The schema used throughout the BPEL and JMS adapter are the same.
    Edited by: user13829970 on May 8, 2012 2:07 AM

    Make sure you use the same schema and same queue name while configuring the Producer JMS Adapter and also the Consumer JMS Adapter
    And in the JMS Consumer Composite, define the interface of the BPEL based on the WSDL of the JMS Adapter (service) and then wire the BPEL and the JMS Adapter. Make sure under the receive activity, the create instance checkbox is checked.
    Hope this helps
    N

  • How can a JMS adapter be configured in BPEL to consume messages from multiple queues ?

    How can a JMS adapter be configured in BPEL to consume messages from multiple queues ?

    If you want to use JMS with AQ as datastore then there is some configuration you need to do to enable this. This is outside SOA Suite per sa, e.g. no adapter required.
    If you want to connect to the AQ direct then use the AQ adapter.
    this blog may be of some help understand the configuration
    http://biemond.blogspot.com/2008/01/oracle-jms-with-esb-and-bpel.html
    cheers
    James

  • How to pick(or consume) messages from Woblogic JMS Queue only when DB is UP

    Hi,
    I have a requirement to pick(or consume) messages from Woblogic JMS Queue only when DB is UP.
    When DB is down, messages should remain in queue. When DB is up, messaged should be picked on scheduler basis.
    We are using SOA suite 11g(BPEL or mediator,JMS Adapter).
    What is the best way to achive it in SOA 11g.
    I tried, but when I setup a Consumer, there is no control over there. Messages are picked automatically.
    Please advise.
    Thanks
    Ram

    something wrong with the design.
    why dont you set the retry options in the fault policies?
    So if the external DB is down you could reprocess them after specified interval or make it go to human retry queue.
    Then you could use SOA api to retry all of them.
    --Prasanna                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Is there a way to control the number of consumed messages from JMS?

    Hi everyone,
    I have a BPEL process that is consumes messages from a foreign queue, performs a transformation, and passes it to Oracle Apps. I'm curious if there is a way to control the number of messages consumed at a time for processing.
    For example, if we place 50 transactions on this queue, I would like to only consume 10. And then as each one is processed and passed to Oracle Apps, I would like to pull another transaction off the queue. So basically I would only be processing 10 at the most.
    The issue I am having is we put 50 on the queue and the 50 are take off right away. But then half are making it into Oracle Apps and the remainder is failing with a JCA Connection Factory max connection error.
    Instead of changing the settings to get more through, I am wondering if it's possible to limit the number being processes at any one time.
    Thanks

    Hi,
    Have a look at the adapter.jms.receive.threads Property for JMS Adapter...
    http://docs.oracle.com/cd/E21764_01/core.1111/e10108/adapters.htm#BABCGCEC
    Cheers,
    Vlad

  • Can BPEL retry consuming message from JMS Q Infinite times after rollback?

    Hi Guys,
    I have a scenario where a simple BPEL 11g with a throw consumes messages from a JMS queue.
    If some error occurs the message would be rolled back to JMS queue.
    I want to configure the BPEL in such a way that the BPEL would retry to consume the rolled back message again and again regardless of how many times it is getting rolled back.
    please suggest some solutions.
    Thanks in Advance...

    To get rollbacks to sucessfully put messages back on a queue we:
    1. Ensure the BPEL component in composite.xml has the following properties set:
    <property name="bpel.config.transaction">required</property>
    <property name="bpel.config.oneWayDeliveryPolicy">sync</property>
    2. Use ASync fault policy
    <property name="oracle.composite.faultPolicyFile">oramds:/apps/AIAMetaData/faultPolicies/IC/ASync/V1/fault-policies.xml</property>
    <property name="oracle.composite.faultBindingFile">oramds:/apps/AIAMetaData/faultPolicies/IC/ASync/V1/fault-bindings.xml</property>
    These are custom fault policies we have that simply rethrows the fault (I can send them to you if required)
    The problem is that you will fire your server into an endless loop and not have any control over the process. Many kinds of error will cause the loop not just the one you want. I can imagine SOA server will hang, or run out of memory then you will reboot it and it will just hang again.
    You may have a resubmit delay of 5 mins but if you have 300 messages in the queue that is still one try every second. I can imagine your server falling over.
    Automatic re-submission is possible but I would suggest going for a design that gives you a little more control over the process. Having error messages go into an error queue and an automatic re-submission process might be a good idea. You could then control the process. e.g. Try one of the messages every 5 mins and if that works put the entire contents of the error queue back into the main queue.

  • Code to Retrieve the message from Queue in Oracle BPEL

    Actually I am placing the Message into JMS Queue using JMS Adapter.After Placing the message,I need to retrieve the placed message from same queue.
    Right now I am using the Receive Activity and the JMS Adapter to retrieve the message from Queue.But my receive activity is always in the waiting state itself and I am not able to retrieve the message from queue.What might be the issue????
    Can anybody give me a better suggestion so that I can go ahead??
    Thanks in advance for your help.

    Hi Raja,
    Is the process a empty bpel process which is used to get the message from the MQ?
    Regards
    Surya

  • Polling message from Queue

    Hi B2B Gurus,
    Is there any way that I could control polling messages from Queue(AQ/JMS).
    (e.g) There are 1000 messages in the queue, I want to process 10 at a time.
    Are there any settings that can I do so that i can poll 10 messages at a time.
    Thanks for your help in Advance.
    Regards,
    Priyanka

    Polling is only based on the interval and not based on size. Please raise an ER.

  • How to receive message from queue based on JMSPriority

    Hi all,
    I want to receive message from Receive Message From Queue based on JMSPrirority.
    I am able to send message to queue using Send Message To Queue component with specifying Priority value as Five(Liternal value).
    Now, when I am trying to receive message from Queue by specifying JMSPriority='Five'; in Message selector, it is not working.
    But, when I use JMSPriority is not null in Message selector, I am able to receive message.
    How to receive message from queue by specifying exact value of JMSPriority.
    Please suggest.

    Hi WASIL,
    I tried with captial FIVE and it is not working.
    I tried also like operator and the standard example doesn't recieve messages based on priority.
    I am experiecing below error:
    Caused by: javax.jms.InvalidSelectorException: The selector is invalid: JMSPriority LIKE '%FIVE%';
        at com.adobe.livecycle.jms.QueueMessageReceiver.receiveMessageFromQueueWithPropertiesNoWait( QueueMessageReceiver.java:206)
        at com.adobe.livecycle.jms.JMSService.receiveMessageFromQueue(JMSService.java:413)
        at sun.reflect.GeneratedMethodAccessor1017.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at com.adobe.idp.dsc.component.impl.DefaultPOJOInvokerImpl.invoke(DefaultPOJOInvokerImpl.jav a:118)
        ... 135 more
    Caused by: javax.jms.InvalidSelectorException: The selector is invalid: JMSPriority LIKE '%FIVE%';
        at org.jboss.jms.server.selector.Selector.<init>(Selector.java:107)
        at org.jboss.jms.server.endpoint.ServerSessionEndpoint.createConsumerDelegateInternal(Server SessionEndpoint.java:2103)
        at org.jboss.jms.server.endpoint.ServerSessionEndpoint.createConsumerDelegate(ServerSessionE ndpoint.java:277)
        at org.jboss.jms.server.endpoint.advised.SessionAdvised.org$jboss$jms$server$endpoint$advise d$SessionAdvised$createConsumerDelegate$aop(SessionAdvised.java:94)
        at org.jboss.jms.server.endpoint.advised.SessionAdvised$createConsumerDelegate_8721389917985 689973.invokeTarget(SessionAdvised$createConsumerDelegate_8721389917985689973.java)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
        at org.jboss.jms.server.container.SecurityAspect.handleCreateConsumerDelegate(SecurityAspect .java:124)
        at sun.reflect.GeneratedMethodAccessor389.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.jboss.aop.advice.PerInstanceAdvice.invoke(PerInstanceAdvice.java:122)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
        at org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
        at org.jboss.jms.server.endpoint.advised.SessionAdvised.createConsumerDelegate(SessionAdvise d.java)
        at org.jboss.jms.wireformat.SessionCreateConsumerDelegateRequest.serverInvoke(SessionCreateC onsumerDelegateRequest.java:100)
        at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandle r.java:165)
        at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:967)
        at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:791 )
        at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:744)
        at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:586)
        at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:234)
        at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:216)
        at org.jboss.remoting.Client.invoke(Client.java:2034)
        at org.jboss.remoting.Client.invoke(Client.java:877)
        at org.jboss.remoting.Client.invoke(Client.java:865)
        at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:189)
        at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:160)
        at org.jboss.jms.client.delegate.ClientSessionDelegate.org$jboss$jms$client$delegate$ClientS essionDelegate$createConsumerDelegate$aop(ClientSessionDelegate.java:267)
        at org.jboss.jms.client.delegate.ClientSessionDelegate$createConsumerDelegate_87213899179856 89973.invokeTarget(ClientSessionDelegate$createConsumerDelegate_8721389917985689973.java)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
        at org.jboss.jms.client.container.StateCreationAspect.handleCreateConsumerDelegate(StateCrea tionAspect.java:136)
        at org.jboss.aop.advice.org.jboss.jms.client.container.StateCreationAspect_z_handleCreateCon sumerDelegate_930384804.invoke(StateCreationAspect_z_handleCreateConsumerDelegate_93038480 4.java)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
        at org.jboss.jms.client.container.ConsumerAspect.handleCreateConsumerDelegate(ConsumerAspect .java:76)
        at org.jboss.aop.advice.org.jboss.jms.client.container.ConsumerAspect_z_handleCreateConsumer Delegate_930384804.invoke(ConsumerAspect_z_handleCreateConsumerDelegate_930384804.java)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
        at org.jboss.jms.client.container.FailoverValveInterceptor.invoke(FailoverValveInterceptor.j ava:92)
        at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
        at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:172)
        at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
        at org.jboss.jms.client.delegate.ClientSessionDelegate.createConsumerDelegate(ClientSessionD elegate.java)
        at org.jboss.jms.client.JBossSession.createConsumer(JBossSession.java:237)
        at org.jboss.jms.client.JBossSession.createConsumer(JBossSession.java:220)
        at org.jboss.jms.client.JBossSession.createReceiver(JBossSession.java:396)
        at com.adobe.livecycle.jms.QueueMessageReceiver.receiveMessageFromQueueWithPropertiesNoWait( QueueMessageReceiver.java:198)
        ... 140 more
    Please suggest

  • How to consume message with queue payload type 'SYS.AQ$_JMS' in BPEL

    In oracle database
    1. created a queue table with multi consumer, queue_payload_type => 'SYS.AQ$_JMS_OBJECT_MESSAGE' .
    2. created a queue using this queue table.
    3. started the queue.
    4. From java class, published a message into this queue.
    Now when I try to access this queue from bpel using AQ adapters, not able to see the queue name. But if I try to consume from java, it is working fine.
    Please let me know how we need to access from bpel the messages that are not of xml type and are user defined objects.
    Thanks

    Hi
    Thank You for your information,
    I have seen that link which you have provided. Here they have given a example in which they are using Database messaging, i am working on memory/file based messaging.
    I am using default JMS Queue (jms/demoQueue) and default Connection Factory (jms/QueueConnectionFactory) which is provided by default in the server. With these i am trying to push message from process to the Queue.
    From other process i am trying to receive a message.
    For default Queue and Connection factory, i think we dont need to configure any of the xml files.
    Please try to use default Queue and Connection Factory to recevie a message from the Queue. Use two different process to develop this.
    Thank You
    Rgards
    Reddy

  • MDB's keep consuming messages after queue purged

    I have a pool of 5 mdbs processing messages from a queue. The queue had 500 messages in it.
    I used the imqcmd purge dst ... command to clear a queue.
    The mdb's continued to consume messages. I would think that at most 5 messages could have been in the middle of processing and then it would stop but it processed another 30 messages before I killed the app server. I assume it would have gone through the 500.

    I have a pool of 5 mdbs processing messages from a queue. The queue had 500 messages in it.
    I used the imqcmd purge dst ... command to clear a queue.
    The mdb's continued to consume messages. I would think that at most 5 messages could have been in the middle of processing and then it would stop but it processed another 30 messages before I killed the app server. I assume it would have gone through the 500.

  • Remove message from queue for rule based subscriber

    Hi ,
    I created a rule based subscription for one xx_Queue when i am dequeing trying dequeue.conditions like REMOVE it's saying i can mention either dequeue condition or rule based .So if i didn't give REMOVE condition i am able to dequeue but next time when i run again the old message is coming because the message was not removed from queue.So how can i approach that one?

    No version number.
    No DDL.
    And you want us to guess at the actual message when you write: "it's saying i can mention either dequeue condition or rule based."
    Not possible.
    Unless you can see one of us standing behind your chair reading your monitor ... you need to provide every single relevant unknown.
    If you do not know what is relevant, like the actual message, ask a coworker to help you.

  • Consuming message from a remote server

    I am trying to follow the [JMS examples|http://java.sun.com/javaee/5/docs/tutorial/doc/bnchp.html] in the Java EE 5 Tutorial. I was successfully able to perform all the steps:
    1. building and deploying the MDB
    2. setting up the JMS resources on both EE servers
    3. running the app client.
    I cannot however reproduced the expected result. The application runs without any error and appears to send the messages to the queue. The MDB however does not appear to be picking up the messages (messages are not written to the remote server's log file)
    Am I doing anything wrong? I have turned off the firewall on both machines. I am sure that the configuration is correct as I used ant build.xml that came with the example code to perform all of the actions.
    Thanks

    I am using Sun Java System Application Server 9.1
    I just found half of the solution. While looking at the logs, I noticed that my local machine was trying to access 127.0.1.1 (not a typo, was definitely not 127.0.0.1) so I checked configuration on the remote machine. Turns out that there was an entry in the /etc/hosts file for oceanic (my remote server) mapping it to 127.0.0.1. Apparently this is the ip address that the remote server returns causing subsequent access attempts from my local machine to fail. All I did was to change the entry so it has the correct ip address for the remote machine.
    After doing so, I could now flush the message queue of the remote server from the local machine.
    One problem remains. A servlet I have on the local machine sends a message to the queue. There is no error so it looks like the message gets to the queue. The MDB on the remote server however does not get triggered when the message arrives.
    Almost there ...
    Here's my configuration (i decided to create my own test program instead of the client app in the example. My real application sends messages from a servlet)
    Local Server: SJSAS 9.1 on Windows XP
    One servlet sendMessage which sends a message to the pspoolQueue
    JMS Resources:
    Connection : jms/pspoolConnectionFactory with AddressList property with value oceanic (the name of my remote server)
    Destination: jms/pspoolQueue name: pspoolQueue Type: Queue
    Remote Server: SJSAS 9.1 on Windows XP
    JMS Resources:
    Connection : jms/pspoolConnectionFactory
    Destination: jms/pspoolQueue name: pspoolQueue Type: Queue
    The MDB gets "fired" if I deploy it to the local machine (with no AddressList property in the JMS Connection factory of course). Now wondering why it isn't activated when message is sent on a remote queue.

  • Discarding JMS messages from queue

    Hi,
    I have some Weblogic JMS queues, and some OSB SOAP based JMS Proxy Services listening to those queues.
    Sometimes, the source application puts a message in the JMS queue, which is not a valid SOAP XML, or sometimes is a simple text. For such cases, the Proxy service is not able to receive the message from the JMS, and the OSB logs keep on piling up with the error messages.
    Is there any way to discard such messages, which the proxy is unable to read, automatically ?

    Hello buddies,
    I have the same problem. The scenario is the following:
    On request:
    WS Client -> FrontRequestQueue -> Proxy Service -> Business Service -> BackRequestQueue -> WS Server JMS
    On response:
    WS Client <- FrontRequestQueue <- Proxy Service <- Business Service <- BackResponseQueue <- WS Server JMS
    1st Case: WS Client send a correct & valid Soap Message with all request info OK. Result OK
    2nd Case: WS Client send a Soap Message with KO info. Result: Error handled on Proxy Service and error message is returned, OK.
    3rd Case: WS Client send a "HelloWorld" String.
    Result:
    An *<Error> +<OSB Kernel> <BEA-380003> <Excepción en TransportManagerImpl.receiveMessage, com.bea.wli.sb.context.BindingLayerException: Failed to parse XML text+*
    com.bea.wli.sb.context.BindingLayerException: Fallo al anular la canalización del mensaje: Failed to parse XML text*
    +     at com.bea.wli.sb.context.ContextUtils.newException(ContextUtils.java:933)+
    etc...
    Proxy Service tries to read the messages from the queue infinitely producing many errors on server, so I have to stop the queue and delete the message to force stop it.
    I've changed all the JMS Transport "retry" params on Proxy and Biz services and the behaviour is the same, any suggestions?
    Thanks to all.

  • Consuming Data from Queue using proxy service

    Hi , i am coming up the problem of consuming the queue .
    My flow is like :
    1. Created Connection factory(JNDI - cf) targeting Admin Server and queue(JNDI - q) targeting WllsbJmsserver.
    2. Created A JMS based Buissness Service of Any XML type and it is used for publishing the incoming xml payload to the destination queue (q).
    3. Now i am able to see the published payload on the console using monitoring option of the queue.
    4. Now i have created the proxy service and gave the same url as given for BS (jms://localhost:7001/cf/q).
    5.After activating the session the Messege Current Count on weblogic console is now coming 0 as i think it's being consumed up by the proxy service, but I am not able to see the consumed message.
    6.I want to do some processing on the message, how to go about this?
    My requirement is that i wanted to store some ID in a queue and used that particular id /consume that particaular id in some other proxy service .

    Anuj,
    I tried one more flow ...
    My resources are:
    1.BS :BSQ_Push
    2.PS :PS_Read_Message
    3.PS: PS_Publish_Message
    I edit the pipeline of PS_Publish_Message and made a route to PS_Publish_Message service and added some more actions and i am listing up all the actions below step by step
    Message Flow for PS_Publish_Message
    a. Postiing Message In Queue stage:
    Publish to [ BSQ_Push ] used , and Request Actions used : Log [ $body ]
    b. Route to [ PS_Read_Messege ]
    Message Flow for PS_Read_Message :
    a. Reading Message Stage :
    Log [$body  ]
    But at the end my logs are as follows when i run the PS_Publish_Message wth a request as <id>Abhinav</id> :
    ####<Apr 1, 2011 2:19:50 PM IST> <Error> <ALSB Logging> <Abhinav9639-g15> <AdminServer> <[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <62e9b948932bcb91:7dc8e539:12f0f9d195c:-8000-0000000000043f89> <1301647790389> <BEA-000000> < [Publishing Messege Pipeline, Publishing Messege Pipeline_request, Postiing Messege In Queue, REQUEST] ||||||||||||Posting Messege In Queue ||||||||||: <soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <id>Abhinav</id>
    </soapenv:Body>>
    ####<Apr 1, 2011 2:19:50 PM IST> <Error> <ALSB Logging> <Abhinav9639-g15> <AdminServer> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <62e9b948932bcb91:7dc8e539:12f0f9d195c:-8000-0000000000043f89> <1301647790551> <BEA-000000> < [Reading Queue Pipeline, Reading Queue Pipeline_request, Reading Message, REQUEST] ---------------------Log For ID in Read Proxy Flow--------------------------------: <soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <id>Abhinav</id>
    </soapenv:Body>>
    ####<Apr 1, 2011 2:19:50 PM IST> <Error> <ALSB Logging> <Abhinav9639-g15> <AdminServer> <[ACTIVE] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <62e9b948932bcb91:7dc8e539:12f0f9d195c:-8000-0000000000043f89> <1301647790578> <BEA-000000> < [Reading Queue Pipeline, Reading Queue Pipeline_request, Reading Message, REQUEST] ---------------------Log For ID in Read Proxy Flow--------------------------------: <soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"/>>

Maybe you are looking for

  • Error message from iTunes session ID unavailable

    When updating or synching will get the error message "iTunes unable to connect with this iPhone, session ID unavailable".  I click OK then the message goes away, but I have absolutely no idea what that means, if the updates and items synchronized, or

  • Connecting 3 additional (external) monitors

    Hi all, I'm a professional composer. I've just re-done my studio set up and it looks like this: The two thunderbolt displays seem to work perfectly and I've had no complaints with them. I just can't get the TV to be that 4th monitor. I'd like to flic

  • Scroll panel easing?

    I have seen a few examples of creating a scroll panel in Illustrator/Photoshop and then making it functional in Catalyst but I am just curious, is there a way to add easing to the scroll in Catalyst? You know so it speeds up and/or slows down as you

  • I need help with my WRT54GS router.

    My WRT54GS linksys router is acting up pretty bad. For example, i am just surfing the web and i have a program Ventrilo going talking to some friends, then all of a sudden i get disconnected from it and my internet just suddenly halts and then reconn

  • Protecting Photos in IWeb Webpage

    Is there additional ways to protect your photos from being downloaded from your webpage other than the Password Inspector button?