Composite Web Service Drowing PLZ HELP!!!
I am trying to create a web Service in CAPS that calls another web service then based on the reply from that web service calls multiple other web services then returns a combine message. any clue how i could go about attacking this problem.
Hi Zflores,
This is what eInsight is for. eInsight uses BPMN as the graphical layer, and 'underneath' runs BPEL although that is fully exposed for more advanced users.
eInsight is meant to orchestrate web service calls (although it is called a business process management tool ).
Just take a look at the User Guide on http://docs.sun.com/app/docs/doc/819-7398
There is more on web services in the eGate User Guide on
http://docs.sun.com/app/docs/doc/819-7393
A process flow in eInsight can e.g. start with a Web Service invocation action (you'll need to define a wsdl for that, and drag and drop it on the eInsight canvas). This allows the process to be dealt with as a web service call.
Good luck
Paul
Similar Messages
-
How to create Web Service Proxy with help of WSDL.
Hi ,
How to create Web Service Proxy with help of WSDL .
Please help me .
Thanks in advacne for reply .check out this article. It has all the details
http://www.oracle.com/technology/products/jdev/howtos/1013/wsadf/adfcomplexwstypes.html -
An error occurred while trying to connect to a Web service.
An entry has been added to the Windows event log of the server.
Log ID:5567
Correlation ID:4db21044-cbc4-4f2f-8653-d73e5496b891check the log file first to get detailed information, go to ULS log file, find the related Correlation ID, you will get the error message, the information you provided is less helpful to know this issue.
Qiao Wei
My blog:http://blog.goobol.com -
Creating a web service for F4 help
Hi All,
I want to create a web service that I can consume using JavaScript and thus can integrate with normal HTML web site. I want to achieve this by two ways
Pass table name and field name to the service and it will return the default search help
In some cases search helps are collective search helps and they have search criteria to filter data
How can I tackle with the 2nd point. First one looks straight. Pass table-field and the system will pick default DDIC search help and return values in table. However in case of collective help, I need to cater for the search parameters and I am not aware of any FM that will allow me to do it.
Any help appreciated .
Regards
AbhiHi Marcin and everyone,
Thanks for the precious explanations.
I created a client and I have an exception.
1) I made a portal service from wsdl - client side.
2) I created a DynPage.
3) Here is the code :
IMyBAPI4Service client = (IMyBAPI4Service) PortalRuntime.getRuntimeResources().getService(
IMyBAPI4Service.KEY);
IMyBAPI4Service securedClient = (IMyBAPI4Service) client.getSecurisedServiceConnection( request.getUser());
//this is null.
if (securedClient.getURLEndPoint().getURL() == null) {
securedClient.setURLEndPoint(new URLEndpoint("http://<server>:<port>/irj/servlet/prt/soap/com.sap.portal.prt.soap.MyBAPI4Service?style=doc_lit"));
Bapi_Companycode_Getdetail_Input importParams = new Bapi_Companycode_Getdetail_Input();
importParams.setCompanycodeid("0500");
Bapi_Companycode_Getdetail_Output exportParams = null;
securedClient.execute_BAPI_COMPANYCODE_GETDETAIL(importParams);
Do I have to use a secured client ? What is it ?
The exception is :
Problem at execution: SOAP Fault Error (java.lang.NoClassDefFoundError) : java.lang.NoClassDefFoundError
Thanks Marcin....
Message was edited by: David Fryda -
Visual Admin: error on loading service Web Services Security ? HELP
I wanted to consume a webservice to a remote R3 ECC 5 webservice with Visual Composer.
I added a web service client for VComposer using visual admin as:
Cluster->services->webServicesSecurity->
SecurityConfiguration->WebServiceClients->DynamicWSProxies->New
Added the remote host to R3 ECC5
<b>http://<host>:8000/inspection.wsil</b>
I keyed in the SID, client and language as per /people/community.user/blog/2007/04/04/consuming-webservice-in-visual-composer-1 .
I changed the security authentication to Basic and keyed in right user and password, saved the data.
It worked fine.
After I changed few values for SID, user, password on this properties, it gave me ERROR on loading service Web Services Security.
Can you please help to reset and put back the old config.
Thanks;Thanks, I restarted it after an hour, it is working fine.
-
Web Services Connection URL Help
Hey guys,
I hate to create a thread for something that seems so simple but I can't for the life of me find a simple answer anywhere. When I'm trying to communicate with the GroupWise web services on a version 7 installation I'm having a hard time finding the correct URL. I've been trying "http://[domainname]/gw/webacc/" and the login seems to work but when I call the getItemsRequest method on the GroupWiseBinding object it's returning HTML which basically looks like it would be the interface that's returned for when a user logs in via the web access. My assumption is that I'm using the wrong URL to interact with the web service but I'm not sure because I'm having a hell of a time trying to research this.
Just to give you guys a little bit of background about what I'm dealing with too this is a project that I've inherited from a developer no longer at our company and I've never worked on it before so I'm starting from scratch. Spent nearly a week looking at this on and off and I've come up with nothing. I really need to get some traction here and any help is much appreciated.
Thanks in advance!It shouldn't matter which version of the schema
that you are using.
You need to make sure the port is enabled on the POA.
If you are still having a problem, you could do a
SOAP trace to see what is actually sent and received
from the POA. Google for MsSoapT3.exe. The ms soap
trace utility is pretty simple. (It is part of a
soap SDK.)
Preston
>>> On Wednesday, May 18, 2011 at 3:36 PM,
Achaia<[email protected]>
wrote:
> Preston Stephenson;2107153 Wrote:
>> The url would be:
>> http://server:7191/soap
>>
>> That is if the port 7191 is enabled for SOAP.
>> Port 7191 is the default SOAP port.
>> You also need a "SOAPAction" http header.
>> The "Content‑Type" header value needs to be "text/xml".
>>
>> That all said, you would be hard pressed to get soap
>> to work on 7.0.x. Also given that fact that 7.0.x is
>> no longer supported (at least for doing soap work).
>>
>> Preston
>>
>
> Thanks a million for your response! I tried the specified port number
> and the /soap and wasn't able to get it to work still. I'm actually not
> manually creating the packets being sent to the web services though,
> it's being created as an object through a web reference in a C# .NET
> project. When I inherited this project I was told it was for
> integration with GroupWise 7 but unfortunately the test server that our
> developer used to build this has been formatted so I no longer have
> access to it and am trying to test with a customer's server. Perhaps
> they were misinformed though and this is indeed on version 8. Is there
> any way for me to test/verify what version this integration was actually
> built for based on the Reference.cs file? -
Trying to connect to Web Services but times out. Configuration page suggests no internet connectivity although network modem/router is connected to the internet. Printer prints ok wirelessly through the network.
This question was solved.
View Solution.Let's set a static IP address and external DNS for the printer:
- Print a Network Config Page from the front of the printer. Note the printer's IP address.
- Type that IP address into a browser to reveal the printer's internal settings.
- Choose the Networking tab, then Wireless along the left side, then the IPv4 tab.
- On this screen you want to set a Manual IP. You need to set an IP address outside the range that the router automatically sets (called the DHCP range). If you do not know the range, change the last set of numbers (those after the last '.') to 250
- Use 255.255.255.0 for the subnet (unless you know it is different, if so, use that)
- Enter your router's IP (on the Network Config Page) for the gateway.
- Enter 8.8.8.8 for the first DNS and 8.8.4.4 for the second DNS. This is Google DNS. You can choose another external DNS if you wish.
- Click 'Apply'.
Now, shut down the router and printer, start the router, wait, then start the printer.
Say thanks by clicking "Kudos" "thumbs up" in the post that helped you.
I am employed by HP -
Web Service in java HELP!!!!
Hi everyone,
i'm new in web services and i have to make a web service in java that it will accept an xml file from a client. The client will have to connect with the server in a particular port and ,through the web service, the client will have to send the xml file. Firts of all, i would like to ask if it 's something difficult to be done. Secondly i would appreciate if someone gave me a guideline about how to start the implementation of the web service.
Thanks in advance. :)Kayaman wrote:
993033 wrote:
Thanks for the reply !I have read a lot of things about web service. i m reading about a week now for web services :)Well, you probably won't be able to do it with just a week of reading.Maybe a "hello world" type of webservice producer + consumer, if you know Java and web environments properly. JAX-RS is a bit easier in my opinion though, its a very well-defined API and I had a setup between Java and Ruby on Rails running in an afternoon. If you take the time to read and understand the material first of course. Especially the understanding part is what people tend to want to skip over.
We can't just "give a hint" and you'll be magically able to write a webservice. Programming doesn't really work that way.Indeed, and software engineering works even less like that. It happens to be bloody hard. -
First time creating a web service ... help!
I work for a logistics company and I have been tasked with
creating a web service that will allow clients to feed in XML
packets and our server would then take the XML, confirm it's valid
and then process a quote and then return this quote back to the
client as an XML packet. Here is where my confusion arrises ...
what type of returntype is an XML packet? a "string"?Basically yes, A long structured string. The cffunction tag
also
accepts a returnType of XML, I'm not sure which is best.
fastcougar1 wrote:
> I work for a logistics company and I have been tasked
with creating a web
> service that will allow clients to feed in XML packets
and our server would
> then take the XML, confirm it's valid and then process a
quote and then return
> this quote back to the client as an XML packet. Here is
where my confusion
> arrises ... why type of returntype is an XML packet? a
"string"?
>
> -
Problem with Configuring Tomcat for running jsp web applications..Plz HELP
I am using Tomcat 5.5 and Jdk 1.5.0_12 and Oracle 10g. I am using jdbc-odbc bridge connection
to connect to the database. I have placed my project folder called
tdm under the webapps folder in Tomcat. This 'tdm' folder consists of
a collection of html pages,jsp pages and images of my project. Also I created a
WEB-INF folderand in that I have lib folder which contains catalina-root.jar
, classes12.jar and nls_charset.jar files. And also in the WEB-INF folder I have the web.xml
file which looks like this
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
Copyright 2004 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<web-app>
<resource-ref>
<description>Oracle Datasource example</description>
<res-ref-name>jdbc/gdn</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
My Server.xml file in Tomcat\conf folder is as follows
<!-- Example Server Configuration File -->
<!-- Note that component elements are nested corresponding to their
parent-child relationships with each other -->
<!-- A "Server" is a singleton element that represents the entire JVM,
which may contain one or more "Service" instances. The Server
listens for a shutdown command on the indicated port.
Note: A "Server" is not itself a "Container", so you may not
define subcomponents such as "Valves" or "Loggers" at this level.
-->
<Server port="8005" shutdown="SHUTDOWN">
<!-- Comment these entries out to disable JMX MBeans support used for the
administration web application -->
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<!-- Global JNDI resources -->
<GlobalNamingResources>
<!-- Test entry for demonstration purposes -->
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users -->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
<Resource name="jdbc/gdn" auth="Container"
type="javax.sql.DataSource" driverClassName="sun.jdbc.odbc.JdbcOdbcDriver"
url="jdbc:odbc:gdn"
username="system" password="tiger" maxActive="20" maxIdle="10"
maxWait="-1"/>
</GlobalNamingResources>
<!-- A "Service" is a collection of one or more "Connectors" that share
a single "Container" (and therefore the web applications visible
within that Container). Normally, that Container is an "Engine",
but this is not required.
Note: A "Service" is not itself a "Container", so you may not
define subcomponents such as "Valves" or "Loggers" at this level.
-->
<!-- Define the Tomcat Stand-Alone Service -->
<Service name="Catalina">
<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Each Connector passes requests on to the
associated "Container" (normally an Engine) for processing.
By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
You can also enable an SSL HTTP/1.1 Connector on port 8443 by
following the instructions below and uncommenting the second Connector
entry. SSL support requires the following steps (see the SSL Config
HOWTO in the Tomcat 5 documentation bundle for more detailed
instructions):
* If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
later, and put the JAR files into "$JAVA_HOME/jre/lib/ext".
* Execute:
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)
with a password value of "changeit" for both the certificate and
the keystore itself.
By default, DNS lookups are enabled when a web application calls
request.getRemoteHost(). This can have an adverse impact on
performance, so you can disable it by setting the
"enableLookups" attribute to "false". When DNS lookups are disabled,
request.getRemoteHost() will return the String version of the
IP address of the remote client.
-->
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector
port="5050" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<!-- Note : To disable connection timeouts, set connectionTimeout value
to 0 -->
<!-- Note : To use gzip compression you could set the following properties :
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml"
-->
<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
<!--
<Connector port="8443"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
<!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
<!-- See proxy documentation for more information about using this. -->
<!--
<Connector port="8082"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" acceptCount="100" connectionTimeout="20000"
proxyPort="80" disableUploadTimeout="true" />
-->
<!-- An Engine represents the entry point (within Catalina) that processes
every request. The Engine implementation for Tomcat stand alone
analyzes the HTTP headers included with the request, and passes them
on to the appropriate Host (virtual host). -->
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
-->
<!-- Define the top level container in our container hierarchy -->
<Engine name="Catalina" defaultHost="localhost">
<!-- The request dumper valve dumps useful debugging information about
the request headers and cookies that were received, and the response
headers and cookies that were sent, for all requests received by
this instance of Tomcat. If you care only about requests to a
particular virtual host, or a particular application, nest this
element inside the corresponding <Host> or <Context> entry instead.
For a similar mechanism that is portable to all Servlet 2.4
containers, check out the "RequestDumperFilter" Filter in the
example application (the source for this filter may be found in
"$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
Request dumping is disabled by default. Uncomment the following
element to enable it. -->
<!--
<Valve className="org.apache.catalina.valves.RequestDumperValve"/>
-->
<!-- Because this Realm is here, an instance will be shared globally -->
<!-- This Realm uses the UserDatabase configured in the global JNDI
resources under the key "UserDatabase". Any edits
that are performed against this UserDatabase are immediately
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<!-- Comment out the old realm but leave here for now in case we
need to go back quickly -->
<!--
<Realm className="org.apache.catalina.realm.MemoryRealm" />
-->
<!-- Replace the above Realm with one of the following to get a Realm
stored in a database and accessed via JDBC -->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="org.gjt.mm.mysql.Driver"
connectionURL="jdbc:mysql://localhost/authority"
connectionName="test" connectionPassword="test"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="oracle.jdbc.driver.OracleDriver"
connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
connectionName="scott" connectionPassword="tiger"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="sun.jdbc.odbc.JdbcOdbcDriver"
connectionURL="jdbc:odbc:CATALINA"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!-- Define the default virtual host
Note: XML Schema validation will not work with Xerces 2.2.
-->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<!-- Defines a cluster for this node,
By defining this element, means that every manager will be changed.
So when running a cluster, only make sure that you have webapps in there
that need to be clustered and remove the other ones.
A cluster has the following parameters:
className = the fully qualified name of the cluster class
name = a descriptive name for your cluster, can be anything
mcastAddr = the multicast address, has to be the same for all the nodes
mcastPort = the multicast port, has to be the same for all the nodes
mcastBindAddr = bind the multicast socket to a specific address
mcastTTL = the multicast TTL if you want to limit your broadcast
mcastSoTimeout = the multicast readtimeout
mcastFrequency = the number of milliseconds in between sending a "I'm alive" heartbeat
mcastDropTime = the number a milliseconds before a node is considered "dead" if no heartbeat is received
tcpThreadCount = the number of threads to handle incoming replication requests, optimal would be the same amount of threads as nodes
tcpListenAddress = the listen address (bind address) for TCP cluster request on this host,
in case of multiple ethernet cards.
auto means that address becomes
InetAddress.getLocalHost().getHostAddress()
tcpListenPort = the tcp listen port
tcpSelectorTimeout = the timeout (ms) for the Selector.select() method in case the OS
has a wakup bug in java.nio. Set to 0 for no timeout
printToScreen = true means that managers will also print to std.out
expireSessionsOnShutdown = true means that
useDirtyFlag = true means that we only replicate a session after setAttribute,removeAttribute has been called.
false means to replicate the session after each request.
false means that replication would work for the following piece of code: (only for SimpleTcpReplicationManager)
<%
HashMap map = (HashMap)session.getAttribute("map");
map.put("key","value");
%>
replicationMode = can be either 'pooled', 'synchronous' or 'asynchronous'.
* Pooled means that the replication happens using several sockets in a synchronous way. Ie, the data gets replicated, then the request return. This is the same as the 'synchronous' setting except it uses a pool of sockets, hence it is multithreaded. This is the fastest and safest configuration. To use this, also increase the nr of tcp threads that you have dealing with replication.
* Synchronous means that the thread that executes the request, is also the
thread the replicates the data to the other nodes, and will not return until all
nodes have received the information.
* Asynchronous means that there is a specific 'sender' thread for each cluster node,
so the request thread will queue the replication request into a "smart" queue,
and then return to the client.
The "smart" queue is a queue where when a session is added to the queue, and the same session
already exists in the queue from a previous request, that session will be replaced
in the queue instead of replicating two requests. This almost never happens, unless there is a
large network delay.
-->
<!--
When configuring for clustering, you also add in a valve to catch all the requests
coming in, at the end of the request, the session may or may not be replicated.
A session is replicated if and only if all the conditions are met:
1. useDirtyFlag is true or setAttribute or removeAttribute has been called AND
2. a session exists (has been created)
3. the request is not trapped by the "filter" attribute
The filter attribute is to filter out requests that could not modify the session,
hence we don't replicate the session after the end of this request.
The filter is negative, ie, anything you put in the filter, you mean to filter out,
ie, no replication will be done on requests that match one of the filters.
The filter attribute is delimited by ;, so you can't escape out ; even if you wanted to.
filter=".*\.gif;.*\.js;" means that we will not replicate the session after requests with the URI
ending with .gif and .js are intercepted.
The deployer element can be used to deploy apps cluster wide.
Currently the deployment only deploys/undeploys to working members in the cluster
so no WARs are copied upons startup of a broken node.
The deployer watches a directory (watchDir) for WAR files when watchEnabled="true"
When a new war file is added the war gets deployed to the local instance,
and then deployed to the other instances in the cluster.
When a war file is deleted from the watchDir the war is undeployed locally
and cluster wide
-->
<!--
<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
managerClassName="org.apache.catalina.cluster.session.DeltaManager"
expireSessionsOnShutdown="false"
useDirtyFlag="true"
notifyListenersOnReplication="true">
<Membership
className="org.apache.catalina.cluster.mcast.McastService"
mcastAddr="228.0.0.4"
mcastPort="45564"
mcastFrequency="500"
mcastDropTime="3000"/>
<Receiver
className="org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress="auto"
tcpListenPort="4001"
tcpSelectorTimeout="100"
tcpThreadCount="6"/>
<Sender
className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
replicationMode="pooled"
ackTimeout="15000"/>
<Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"/>
<Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
</Cluster>
-->
<!-- Normally, users must authenticate themselves to each web app
individually. Uncomment the following entry if you would like
a user to be authenticated the first time they encounter a
resource protected by a security constraint, and then have that
user identity maintained across all web applications contained
in this virtual host. -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all requests for this virtual host. By
default, log files are created in the "logs" directory relative to
$CATALINA_HOME. If you wish, you can specify a different
directory with the "directory" attribute. Specify either a relative
(to $CATALINA_HOME) or absolute path to the desired directory.
-->
<!--
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
-->
<!-- Access log processes all requests for this virtual host. By
default, log files are created in the "logs" directory relative to
$CATALINA_HOME. If you wish, you can specify a different
directory with the "directory" attribute. Specify either a relative
(to $CATALINA_HOME) or absolute path to the desired directory.
This access log implementation is optimized for maximum performance,
but is hardcoded to support only the "common" and "combined" patterns.
-->
<!--
<Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
-->
<Context path="/tdm" docBase="tdm" debug="0" reloadable="true" />
</Host>
</Engine>
</Service>
</Server>
I have set the context path to /tdm in the server.xml file. Should this be placed in context.xml?
My first page in the project is called Homepage.html. To start my project I give http://localhost:5050/tdm/homepage.html
in a browser. Here I accept a username and password from the user and then do the validation in
a valid.jsp file, where I connect to the database and check and use jsp:forward to go to next pages
accordingly. However when I enter the username and password and click Go in the homepage, nothing is
displayed on the next page. The URL in the browser says valid.jsp but a blank screen appears.
WHY DOES IT HAPPEN SO? DOES IT MEAN THAT TOMCAT IS NOT RECOGNIZING JAVA IN MY SYSTEM OR IS IT A PROBLEM
WITH THE DATABASE CONNECTION OR SOMETHING ELSE? I FEEL THAT TOMCAT IS NOT EXECUTING JSP COMMANDS?
IS IT POSSIBLE?WHY WILL THIS HAPPEN?
I set the JAVA_HOME and CATALINA_HOME environment to the jdk and tomcat folders resp.
Is there any other thing that I need to set in classpath? Should I have my project as a
WAR file in the webapps of TOMCAT or just a folder i.e. directory structure will fine?I am using Tomcat 5.5 and Jdk 1.5.0_12 and Oracle 10g. I am using jdbc-odbc bridge connection
to connect to the database. I have placed my project folder called
tdm under the webapps folder in Tomcat. This 'tdm' folder consists of
a collection of html pages,jsp pages and images of my project. Also I created a
WEB-INF folderand in that I have lib folder which contains catalina-root.jar
, classes12.jar and nls_charset.jar files. And also in the WEB-INF folder I have the web.xml
file which looks like this
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
Copyright 2004 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<web-app>
<resource-ref>
<description>Oracle Datasource example</description>
<res-ref-name>jdbc/gdn</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
My Server.xml file in Tomcat\conf folder is as follows
<!-- Example Server Configuration File -->
<!-- Note that component elements are nested corresponding to their
parent-child relationships with each other -->
<!-- A "Server" is a singleton element that represents the entire JVM,
which may contain one or more "Service" instances. The Server
listens for a shutdown command on the indicated port.
Note: A "Server" is not itself a "Container", so you may not
define subcomponents such as "Valves" or "Loggers" at this level.
-->
<Server port="8005" shutdown="SHUTDOWN">
<!-- Comment these entries out to disable JMX MBeans support used for the
administration web application -->
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<!-- Global JNDI resources -->
<GlobalNamingResources>
<!-- Test entry for demonstration purposes -->
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users -->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
<Resource name="jdbc/gdn" auth="Container"
type="javax.sql.DataSource" driverClassName="sun.jdbc.odbc.JdbcOdbcDriver"
url="jdbc:odbc:gdn"
username="system" password="tiger" maxActive="20" maxIdle="10"
maxWait="-1"/>
</GlobalNamingResources>
<!-- A "Service" is a collection of one or more "Connectors" that share
a single "Container" (and therefore the web applications visible
within that Container). Normally, that Container is an "Engine",
but this is not required.
Note: A "Service" is not itself a "Container", so you may not
define subcomponents such as "Valves" or "Loggers" at this level.
-->
<!-- Define the Tomcat Stand-Alone Service -->
<Service name="Catalina">
<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Each Connector passes requests on to the
associated "Container" (normally an Engine) for processing.
By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
You can also enable an SSL HTTP/1.1 Connector on port 8443 by
following the instructions below and uncommenting the second Connector
entry. SSL support requires the following steps (see the SSL Config
HOWTO in the Tomcat 5 documentation bundle for more detailed
instructions):
* If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
later, and put the JAR files into "$JAVA_HOME/jre/lib/ext".
* Execute:
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)
with a password value of "changeit" for both the certificate and
the keystore itself.
By default, DNS lookups are enabled when a web application calls
request.getRemoteHost(). This can have an adverse impact on
performance, so you can disable it by setting the
"enableLookups" attribute to "false". When DNS lookups are disabled,
request.getRemoteHost() will return the String version of the
IP address of the remote client.
-->
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector
port="5050" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<!-- Note : To disable connection timeouts, set connectionTimeout value
to 0 -->
<!-- Note : To use gzip compression you could set the following properties :
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml"
-->
<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
<!--
<Connector port="8443"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
<!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
<!-- See proxy documentation for more information about using this. -->
<!--
<Connector port="8082"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" acceptCount="100" connectionTimeout="20000"
proxyPort="80" disableUploadTimeout="true" />
-->
<!-- An Engine represents the entry point (within Catalina) that processes
every request. The Engine implementation for Tomcat stand alone
analyzes the HTTP headers included with the request, and passes them
on to the appropriate Host (virtual host). -->
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
-->
<!-- Define the top level container in our container hierarchy -->
<Engine name="Catalina" defaultHost="localhost">
<!-- The request dumper valve dumps useful debugging information about
the request headers and cookies that were received, and the response
headers and cookies that were sent, for all requests received by
this instance of Tomcat. If you care only about requests to a
particular virtual host, or a particular application, nest this
element inside the corresponding <Host> or <Context> entry instead.
For a similar mechanism that is portable to all Servlet 2.4
containers, check out the "RequestDumperFilter" Filter in the
example application (the source for this filter may be found in
"$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
Request dumping is disabled by default. Uncomment the following
element to enable it. -->
<!--
<Valve className="org.apache.catalina.valves.RequestDumperValve"/>
-->
<!-- Because this Realm is here, an instance will be shared globally -->
<!-- This Realm uses the UserDatabase configured in the global JNDI
resources under the key "UserDatabase". Any edits
that are performed against this UserDatabase are immediately
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<!-- Comment out the old realm but leave here for now in case we
need to go back quickly -->
<!--
<Realm className="org.apache.catalina.realm.MemoryRealm" />
-->
<!-- Replace the above Realm with one of the following to get a Realm
stored in a database and accessed via JDBC -->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="org.gjt.mm.mysql.Driver"
connectionURL="jdbc:mysql://localhost/authority"
connectionName="test" connectionPassword="test"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="oracle.jdbc.driver.OracleDriver"
connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
connectionName="scott" connectionPassword="tiger"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!--
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="sun.jdbc.odbc.JdbcOdbcDriver"
connectionURL="jdbc:odbc:CATALINA"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->
<!-- Define the default virtual host
Note: XML Schema validation will not work with Xerces 2.2.
-->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<!-- Defines a cluster for this node,
By defining this element, means that every manager will be changed.
So when running a cluster, only make sure that you have webapps in there
that need to be clustered and remove the other ones.
A cluster has the following parameters:
className = the fully qualified name of the cluster class
name = a descriptive name for your cluster, can be anything
mcastAddr = the multicast address, has to be the same for all the nodes
mcastPort = the multicast port, has to be the same for all the nodes
mcastBindAddr = bind the multicast socket to a specific address
mcastTTL = the multicast TTL if you want to limit your broadcast
mcastSoTimeout = the multicast readtimeout
mcastFrequency = the number of milliseconds in between sending a "I'm alive" heartbeat
mcastDropTime = the number a milliseconds before a node is considered "dead" if no heartbeat is received
tcpThreadCount = the number of threads to handle incoming replication requests, optimal would be the same amount of threads as nodes
tcpListenAddress = the listen address (bind address) for TCP cluster request on this host,
in case of multiple ethernet cards.
auto means that address becomes
InetAddress.getLocalHost().getHostAddress()
tcpListenPort = the tcp listen port
tcpSelectorTimeout = the timeout (ms) for the Selector.select() method in case the OS
has a wakup bug in java.nio. Set to 0 for no timeout
printToScreen = true means that managers will also print to std.out
expireSessionsOnShutdown = true means that
useDirtyFlag = true means that we only replicate a session after setAttribute,removeAttribute has been called.
false means to replicate the session after each request.
false means that replication would work for the following piece of code: (only for SimpleTcpReplicationManager)
<%
HashMap map = (HashMap)session.getAttribute("map");
map.put("key","value");
%>
replicationMode = can be either 'pooled', 'synchronous' or 'asynchronous'.
* Pooled means that the replication happens using several sockets in a synchronous way. Ie, the data gets replicated, then the request return. This is the same as the 'synchronous' setting except it uses a pool of sockets, hence it is multithreaded. This is the fastest and safest configuration. To use this, also increase the nr of tcp threads that you have dealing with replication.
* Synchronous means that the thread that executes the request, is also the
thread the replicates the data to the other nodes, and will not return until all
nodes have received the information.
* Asynchronous means that there is a specific 'sender' thread for each cluster node,
so the request thread will queue the replication request into a "smart" queue,
and then return to the client.
The "smart" queue is a queue where when a session is added to the queue, and the same session
already exists in the queue from a previous request, that session will be replaced
in the queue instead of replicating two requests. This almost never happens, unless there is a
large network delay.
-->
<!--
When configuring for clustering, you also add in a valve to catch all the requests
coming in, at the end of the request, the session may or may not be replicated.
A session is replicated if and only if all the conditions are met:
1. useDirtyFlag is true or setAttribute or removeAttribute has been called AND
2. a session exists (has been created)
3. the request is not trapped by the "filter" attribute
The filter attribute is to filter out requests that could not modify the session,
hence we don't replicate the session after the end of this request.
The filter is negative, ie, anything you put in the filter, you mean to filter out,
ie, no replication will be done on requests that match one of the filters.
The filter attribute is delimited by ;, so you can't escape out ; even if you wanted to.
filter=".*\.gif;.*\.js;" means that we will not replicate the session after requests with the URI
ending with .gif and .js are intercepted.
The deployer element can be used to deploy apps cluster wide.
Currently the deployment only deploys/undeploys to working members in the cluster
so no WARs are copied upons startup of a broken node.
The deployer watches a directory (watchDir) for WAR files when watchEnabled="true"
When a new war file is added the war gets deployed to the local instance,
and then deployed to the other instances in the cluster.
When a war file is deleted from the watchDir the war is undeployed locally
and cluster wide
-->
<!--
<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
managerClassName="org.apache.catalina.cluster.session.DeltaManager"
expireSessionsOnShutdown="false"
useDirtyFlag="true"
notifyListenersOnReplication="true">
<Membership
className="org.apache.catalina.cluster.mcast.McastService"
mcastAddr="228.0.0.4"
mcastPort="45564"
mcastFrequency="500"
mcastDropTime="3000"/>
<Receiver
className="org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress="auto"
tcpListenPort="4001"
tcpSelectorTimeout="100"
tcpThreadCount="6"/>
<Sender
className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
replicationMode="pooled"
ackTimeout="15000"/>
<Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"/>
<Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
</Cluster>
-->
<!-- Normally, users must authenticate themselves to each web app
individually. Uncomment the following entry if you would like
a user to be authenticated the first time they encounter a
resource protected by a security constraint, and then have that
user identity maintained across all web applications contained
in this virtual host. -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all requests for this virtual host. By
default, log files are created in the "logs" directory relative to
$CATALINA_HOME. If you wish, you can specify a different
directory with the "directory" attribute. Specify either a relative
(to $CATALINA_HOME) or absolute path to the desired directory.
-->
<!--
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
-->
<!-- Access log processes all requests for this virtual host. By
default, log files are created in the "logs" directory relative to
$CATALINA_HOME. If you wish, you can specify a different
directory with the "directory" attribute. Specify either a relative
(to $CATALINA_HOME) or absolute path to the desired directory.
This access log implementation is optimized for maximum performance,
but is hardcoded to support only the "common" and "combined" patterns.
-->
<!--
<Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
-->
<Context path="/tdm" docBase="tdm" debug="0" reloadable="true" />
</Host>
</Engine>
</Service>
</Server>
I have set the context path to /tdm in the server.xml file. Should this be placed in context.xml?
My first page in the project is called Homepage.html. To start my project I give http://localhost:5050/tdm/homepage.html
in a browser. Here I accept a username and password from the user and then do the validation in
a valid.jsp file, where I connect to the database and check and use jsp:forward to go to next pages
accordingly. However when I enter the username and password and click Go in the homepage, nothing is
displayed on the next page. The URL in the browser says valid.jsp but a blank screen appears.
WHY DOES IT HAPPEN SO? DOES IT MEAN THAT TOMCAT IS NOT RECOGNIZING JAVA IN MY SYSTEM OR IS IT A PROBLEM
WITH THE DATABASE CONNECTION OR SOMETHING ELSE? I FEEL THAT TOMCAT IS NOT EXECUTING JSP COMMANDS?
IS IT POSSIBLE?WHY WILL THIS HAPPEN?
I set the JAVA_HOME and CATALINA_HOME environment to the jdk and tomcat folders resp.
Is there any other thing that I need to set in classpath? Should I have my project as a
WAR file in the webapps of TOMCAT or just a folder i.e. directory structure will fine? -
Multiple selection in value help with Web service
Hi All,
I want to get data from web service and store in data base. I created input form with set of inputfields. For some input filds in that input form, I want to get value from web service.So I have used value help wizard. I followed below link to create value help wizard for web service.
Value help wizard working with java web service ?
While creating value help, it is only showing 'single selection' option. It does not showing any other options. Here I want to get multiple values from value help. How can I acheive this?.
Thanks,
Venkatesh RHi Venkat,
Try the below links for value help in visual composer.
Visual Composer: Value Help Data Service
Choosing Multiple Values within Visual Composer
http://help.sap.com/saphelp_nw04s/helpdata/en/50/91db4238bbf140e10000000a1550b0/frameset.htm
Regards
Basheer -
Return Data from Oracle using a web service in AXIS - please help
Hi Forum,
I am very new to web services and Java tech. and recently I have been assigned to work with technology and I am struggling to learn it and need your help and assistance.
I am trying to return some data from a an oracle database but I have to do that using a web service and I am using AXIS. For example below is a simple program that returns two columns for the demo EMP table
import java.sql.*;
class emp {
public static void main(String args[])
throws ClassNotFoundException, SQLException {
Class.forName("oracle.jdbc.driver.OracleDriver");
// or you can use:
// DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott", "tiger");
Statement stmt = conn.createStatement( );
ResultSet rset = stmt.executeQuery("select * from emp");
while(rset.next( )) {
System.out.println(rset.getString(1));
System.out.println(rset.getString(2));
rset.close( );
stmt.close( );
conn.close( );
} but I do not know how to convert this into a web service.
Please help.
Thanks in advance.
Regards,
RaviThe following code returns Document. I will be calling the below function to convert my Resultset to document. In my JWS file i simply call a method with parameters. can a web service method in .jws file return Document type. It shows error will doing so. Please help me.
public static Document toDocument(ResultSet rs) throws ParserConfigurationException, SQLException
Document res_doc = null;
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.newDocument();
Element results = doc.createElement("Results");
doc.appendChild(results);
ResultSetMetaData rsmd = rs.getMetaData();
int colCount = rsmd.getColumnCount();
while (rs.next())
Element row = doc.createElement("Row");
results.appendChild(row);
for (int i = 1; i <= colCount; i++)
String columnName = rsmd.getColumnName(i);
Object value = rs.getObject(i);
Element node = doc.createElement(columnName);
node.appendChild(doc.createTextNode(value.toString()));
row.appendChild(node);
return res_doc;
} -
Classic Web services challenge; help please
Hi :
We are developing a webservices application and our architecture is somehow falls
into different category. We have some challenges in creating stateful web services.
First and foremost, our webservices is going to be within corporate and the direct
user of the service @least initially is some other web-based application (GUI), which
may inturn be accessed by users.
Challenge:
We may need to maintain a state for every users. The web based HTTP session wont'
work as the users are routed thro' another interfacing application. So for our web
service the request comes from single IP.
I think we should write our own session management layer for maintaining user session.
Just wanted to know is there any standardized way of doing this ? does weblogic
provide some feature or doc.?
we will be able to identify every new user in web service with the help of calling
application. so identifying new user is not a problem.. its all about maintianing
session.
any help, all suggestions welcome and appreciated ,
VenkiThanks manoj and bruce:
manoj, the challenge of session management is solved if we were to use stateful
session bean. Whereas our implementation i'm not sure we can use stateful session
bean. Our arch. is doesn't require stateful part( which i can always explain if
need), so introducing stateful session may be the only req. to maintain user session.
But the real problem is our application individual users cannot be identified
as our arch..
calls WS
User ---> GUI APP ------------> WS
So the User is unaware of WS and user request will not be directly forwarded to
WS. So we may need to maintain our own session.
Introducing conversation ID can solve identification challenge, whereas i'm concerned
on maintaining session per sever.( like storing [converstaionID,SessionInfo] map).
using Custom maps work well in single mode whereas in clustered environment ,
the map should be supported for seamless migration of session in fail over.
Option:
Using single HTTP session per server and storing conversation map , is good but
the size is huge and memory replication traffic will be enormous as every request
modify the data.
I feel this is one of the major challenge, whereas minor ones' are manageable.
My primary concern is on scalability and reliability.
Hope this helps, ( if needed i'll be able to detail down further,lemme know mailto:[email protected]
Venki
App. Architect
"manoj cheenath" <[email protected]> wrote:
An example of using state full session bean is attached.
In this example the web service component does the
state management. It needs to do lot of work to achieve
this, but it gives better control on how the sessions
are maintained. For eg: where to put the session info
(which header/body part), when to start/end a session etc.
If there is lot of interest in this kind of use case, it is not
that difficult to roll this example out as a web service end
component. Let us know.
regards,
-manoj
"Venki" <[email protected]> wrote in message
news:[email protected]...
Hi :
We are developing a webservices application and our architectureis
somehow falls
into different category. We have some challenges in creating statefulweb
services.
First and foremost, our webservices is going to be within corporateand
the direct
user of the service @least initially is some other web-based application(GUI), which
may inturn be accessed by users.
Challenge:
We may need to maintain a state for every users. The web basedHTTP
session wont'
work as the users are routed thro' another interfacing application.So for
our web
service the request comes from single IP.
I think we should write our own session management layer for maintaininguser session.
Just wanted to know is there any standardized way of doing this ?does
weblogic
provide some feature or doc.?
we will be able to identify every new user in web service with thehelp of
calling
application. so identifying new user is not a problem.. its all aboutmaintianing
session.
any help, all suggestions welcome and appreciated ,
Venkibegin 666 sfsb.jar
M4$L#!!0`" `(`"AB\2P````````````````)``0`345402U)3D8O_LH```,`
M4$L'" `````"`````````%!+`P04``@`" `H8O$L````````````````% ``
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
M=U/9_')V?;V8W9QO=_9^/]Y@M:*#8"UJ;=$QC+8;3TMS-XP,>D'#35Y45A
M'4^>9HO%Y<5\=G/QZ>/UUNC"`(SNACF")'J8LSQAT?D?)H\/"]TC@HZH=N$=
MB1;.,JM&5@@']=>I>* I/XK,)($CE/?ZZ2Y14V GG\[F5;65T9&]U@JQ@L"K
MVXS7;G/L96B(_<9XX05)%?D.G!^7W.8N;^\Q<XB;\I%VFRC;-:+O4;&%/X=+
M&)L\)_8>FT#SVT/:'SN$YCXU"K/_M27Y[B+\_1/ENI3]BK\[7/-JU<XTQW5$
M8>M[OQC21+MF:WPM&A(^63?Y#S2N"5.Q6JHT=A,9ECI\FX+^49F\L;7$QO0S
M`PM#VFD8*6PD4__Y-DFXR"B_%TJ__>OT]/>H&:\;A7^!.M"Y9U3N5VOM-GG_
M: _&@%).DN;?('SZ'U!+!PAP<G:%1P0``!(-``!02P,$% `(``@`6GOP+ ``
M`````````````! ```!S9G-B+T-L:65N="YJ879AK5AM3QM'$/Z.Q'^86I5Z
M#LX:J*HV)J "(:TI;P+2M$HBM#[6OH/U[6EW#]N*\M\[L[OWXK>41N6#,;>S
M\_K,S'/D/'[D(P%BRL>Y%(:9H1GL;6YL;J3C7&D+#_R),SU.V;48*RM.IK'(
M;:JRO7F)PJ:276F5"VU3818U3)EX&+!C+?A:%5Z$K#RM%\GX.,U&[%AE5DSM
MFM-^EMJ4RZ\+7;A?:PU1Q%?X)Q](X2._'#R(V+K NB]>;&[ "[[email protected],9
M*F5AK,;P\ F7$G4#!V/QP;"0<".,02M'@F? LWO - V5)@^<(IL(&"HIU83N
MB:G0<6J$Z;G#UX4\\%]D>@`^AZC[5O-[H>N#HV(&1HT%F(1K]*(PI(LT+TK>
M""F?*>K+L734#2ZYOW[EA4V4AF.5SW0Z2BQ$<1MV7KWZY>7N]O8N#&9P='((
M-S-CQ=ATH)_%# [1A6L2-FC#"/TD[AEIZVYNY,5 IG'(Z[%,16;A,Z4=(-?I
M$T5/>46189IQS*W5Y/[IQ9O^W<7A^0GL0PNAM+O]LDQ_R/Y+'\+O&'EK;UYA
MT%%HN==\7%^ !#_*2]Y![UI47VW3(6"RM)H86 `8G84H2"0U#&^ _]FO# /X
M3[*&CZ52CT5.]J.V.__B-7@``B;_NLB,4U=V, RU&KN"Q6H\)JPA%@6#$W_<
M"_=>YP?E-VL/"//U"'#)8P-NTI@MI)"%>K3LC[UN5RJ$>J*,[?V\O;W3>MU%
M54OZ;]&5G&L^%E9H`P@X4"XC7'9@4%A(A]@2,W=@BCQ'`_>=<!- #\ <IMK+.
M-:JXQ^\^8*6Q-LOQ_.J,09W=\N?=]1D:B!/@9K7_H(;8&PA%[55U&\4.B'M2
MZ3V,>9J%LG_XA.Z-3)M*2S:D&D6MC]CGHS3+"!:K\\<8^YBUVGLE'FH,58A8
MZ6' "-1 Z7;ABFOC6Q1=*<94'ID:&P0HO1'YR*3(1C:![_9AI_(70ELR55B&
MJ,^LS*+6.X,KH0?_&17.9?(69ZSHT33%&"M7`;!^A<Y"$%] 2/2[<H2"WW?9
M_+#]J91I]H3_#*9B_VL?LD+**H]6SVJ%M8B8E,U*75K9C[E%-$0+C8KBR^D1
MT]1&.^W:K;7V6$A8M&2GMM TX!"#/8(@GR P<3^(2FZ2I-C0,4U\MT^PF1='
M-6NU]Q9486NDV7T:NUUD$VY)O%2/HTWA2AN[Z5!D)$4*)RDB@[2Z4:Q[T-H2
M=0!EN '=)^C'O^%Z_:BJN 9;[C+77E4"Y\;I`G?H`)*-F(QCZ;16NG&RP%0Z
MC:8!6" 882PWFC#&/8X#5R,L: 2WSKFUK;TJ!]APRRNXS,UQ62KK3JI<0! -
MSU%MY!^T(>/H_22B@<]<I3'P3EE<MP/K,8&V&[O;JOAQSG/WQ+GM!LCYS=O;
M<F)@8V.GC ="7PYO_-+?!]S.>PWG236I:<'6HNP6N.%()Y61N<APAQ<2@4:A
M^1B90751,YF=^FYGP4"[X8?5S"H?4=2>B[UF.'7HS9A]V,@U;LJPET/^:2YD
MU/@-$3>C'!2S_S?(WP0.MX1G(UIZ<,Q-`H=QK HLH-OL)Z=$(IN86RG<@^_)
M]^#E2-@C+GD65UT%%&$#GTZ5ZXV5\ UZM&N>J'1XN<7/^]U^__(JS$*#!%,5
MDJ:6\#O;HQV&11:7W5=.@$"Y/,TNVR+\I<6P@R.<"&%<S4Z_36 52V?ANKL7
MKYE'9XY<N8F$236><SER(1R9Q*"%6.%A@Q0V^=DSR%\H<</P`&L9+/O)3H;#
MHO.O+Q#;*<(-SC_6E/NEQ6+"0M<$B\S[R?4461ZYT1DAC50<V-I$XCVGH:
M/7]]EMNM7,:T@XJ,R@56A?25%7 V`*ZDX B7,7\D/HA[:W'#N94V4P4D'%]-
M[D4NU0QIH=LL#X-ZE;D:$A/!959%OH5M[4O\[email protected](BHG5MY@$I;6PU^$&J)
M\33)R!**WAG_JE>_^X+R^[email protected]%,E'XDBZ=O_H =ML.F;HN?(K/:#0I"JZP`
M6HF %;5?@[,R\2M $48+\HMY7>5YP_\D<*;Z450G)6%Y8:-PF?4O^K?]P[.[
MX\N+VY._;N_>'A[?7E[_W5BYK8D82,HS>T!2PMZ?S9M_RV.K]*RUSL#5]>6?
M_3<GUW?(WCLP5YX`7?)T(3W)-X#T/1(D8DDU.D>4+N1)62;<L*)GSP..4[B$
MXY**E?=P'.K"O24T2=RS0.=)GF=3#DN "DWP<;2JS*QYLQ360CJ\9H&6X5N#
MP!U!BX^#*U=>HV)(7#3-ZC<SX/2R1@1293^$_X/DW";!5 5H1!XLO;I_!=OE
MC?7#U)]_K@770X$2ZZ6^K/P7@F.<5*^20U6X6/%B9!J;!#_^`5!+!PC)2&L6
MX@8``#P3``!02P,$% `(``@`LWOP+ ```````````````! ```!S9G-B+V5J
M8BUJ87(N>&ULM53+;MLP$#S'@/^!S<5 47$5`[T4K(/Z431%TP:5>^A)H*1-
M34.B5)(RXK\/)=*TG#A >NAQ9V?(V0?)KA^JDNQ0:5'+CY=7-+Z\GHU'XQ%[
ML_RQ6/^^6Q'<9M&6*W+W:_[M9D'&HTD$D+22W(I<U7JO#5;Z';F1.058KI=D
M)0VJ1@F-Y"O?\3ERJ<F4Q@"K[Y-.OS&F^0"PM4FJ6TGSNH+"%.!O2J=I3&T\
M<48\:@-"&(:SHZP[MT<MKE%W%?BP(UJ5Y!7.M.$&[]LR<0P&(1.XF]I&^,"K
MID1-];W.Z%KQ`M47FV#0IP-9856;\W0&/GGB(B^YUF?Y76><'\<),E]-9/8-
MSA)?`(,3.)"-LGW@N0F912T-%[+S\RQW="9WD6VFV@=H"+H&S5>?$NOO%!R/
M+@:\_M!^D"67?^BR;K,2R5#DKQV*=KQL<785QS0>,AT<',)SBZ]R?9M\7O]'
MU^__T748FUM@.+O!S(X?JZS<1P7J7(G&U.J@SP_CC ;3/%Y8H=G4Q4D_7K/Z
M%U[HXK<,AN&QFB>GNV6+N#%*9*W=])_XMQ4*"[]J@\RA^I?M,WBI:O]NA.U5
M__1M.(W3C&N1IT^*2AV-6MKA*069_3S@^'L\`E!+!PB?8IV0U0$``.L$``!0
M2P,$% `(``@`(TRU+ ```````````````!$```!S9G-B+W!A8VMA9V4N:'1M
M;+58;6_;.!+^;L#_@>N]W6V!6,ZFZ)>L:USL^*XMFB:(O=M;($!!2[3-1A8%
M4HKK^_7WS)"2)3MILPL<$, 1R1G.ZS,S'/YP>3V9_WDS%6_G5Q_$S>_C#^\F
MHM<?##Z]F@P&E_-+O_$J.AL,IA][HVYG^$.__U%M;^1*]?OTO2XV*?TN3+*C
MWWPT7VLGU%>YR5,E\*\4N8SO02"*M2Q$HC8F<X65A<)>)J99H6QNM5/BO7R0
M8X6UK=5%H3)1&- H,7T_%F?1J7"YBO52Q[+0)HNZG3GV6A>Y`ER792J<<@YG
MF#*6::H2B+8T62&6,E9O>A-36JVL@"H]X?1_U9O^KZ.YE8FR),!P0&='N((U
M:M_45. <^R7KG^K1[XZ4-$L2I''_<Y3Q#&:5^+FR3CL0Q:IBK;.5D'F>!H)^
MHI8Z4PFDBE5.*V3,1)2%3G6AE?-T0RG65BW?]'Z<I%IE16_D?X<#.1(7>W8X
M/6 ]R*.O\'MC57]<ZK004Z^V&PYX8^_B2I&&!]Q:YSF$RD&](.I(O#5;]:#L
MB=!+L3.EV$HX`:; "5O"*(U@.>$#,?Q/M(G0\)9)4[,EW<ETFLQ>QEY;G8F]
M=F,F*/9>ZHV.EEAGLA'6LNK^OW#'+8O;N.%@@?ASQ,!$4F1R0W$6K$Y[P_59
ML'[3\C#K&9L5(<:$_C9_,*L:OJLVVG$`(7)TMB-(RF0/@B8G"/25!$Y013
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
MG=&WC#E6*^T5?=Q<440YV.WPTQ';HWI9H98Q36GI[24DI=>C;!.7^&]"-B4
MH+&GMQ)+3QDX].OKT^@4I\;ECDE?,RD]*A'IZYIT0:-W<4A\ZHDG]0O+A%XE
M+ORKQ+GXQ^O3< (%G5Z##@3N=J:$=M]4]" V&LEZ1AVF5;\XL4$-POGZV>^6
MG@MH44@N3*%1:)2V?UY>3V:?IN/;Z^OY`$$Z0!ZJK^'%`]I3[]N.L8,G=4$3
M8Z/ #:JW^D%XO/\?4$L'"$58H$,""0``"!@``%!+`P04``@`" !=>_ L````
M````````````(@```'-F<V(O4')O8V5S<VEN9T5R<F]R17AC97!T:6]N+FIA
M=F&54L%NPC ,O5?J/_@(:"N,TQ 7&.*PVP3[@32X-"-MHC@95&C_/J<MZJ2)
M2:NBUDF>WWNV:X4\B2,"7D1E-5)&!>7+-$F3Z622)C"!]U(12"V(@(- >("S
M\B7X\D<6?N3S649>>"R"WB.1,C78CCQK>=Z<D?&\/FZ=,VY[D6A]1#&K+YTY
M<U2 J 'C-1@I@R,XETICFX\LB@[RT# %,()0ZQ@*(&_DJ55ID2L1?,F C;&-
M4\?2PTB.X6FQ>'Z<SV9SR!MXV:YAWY#'BA[@M989K+6&7003[)#0?>*A99RF
MB0VY5K+OP=TR\.*Q/A ,)]?81H"ND<#&-L++$HFA/83:5IK@8Q$6I2H4MY>\
M8_HNIWM/XZ>W<<_ : S7KU^*K.%=D)[:>0EKG;%.\9@&$\,X_[(`*RN<J*!B
M[?C##,]0<'_W#\_[5N>6R!50L.A&M_V2"^+U#5!+!PC>DN!&50$``*4"``!0
M2P,$% `(``@`;GOP+ ```````````````! ```!S9G-B+U1R861E<BYJ879A
M[55-4]LP$+UG)O]ACY QAG)JAPN$R:$]T$["'UC+&UN@#X\D`YE._WM7DA.<
MT Q'.%0YV-%JG]Z^?3ON4#QB0T OJ#M%OO1K7UU-)_$G=6==@ =\PI>2'JIR
M=K6W63HMRR5I&VCQ(J@+TIJ4>CZ;32<P@_N60%-H;>U!&@BMC,] ;HV"`!WQ
M%D'75TH*2'MV#?<.:W)S0E/N0+QL#(;>D8\GP@@V@LB:3) "%03+0>MI>VKQ
M(^(47%VDE^!"BR'&_"M&:)U]!CQ:4^9QQUN[[ $9:LN4C T@HWJ:>1Q462;^
MPCKFWEE32],D-&%K.FO(D,- =83[63V0",6H_D7Q"NO?J&?J!%23HH8Q?"Z>
MH-HJE\+7V'.1#FYMMW&R:0.<B%/X\NW;U[+BXM+J#8P7]S :N,#:5_ =R-*
MN%$*EO&PAR4+Y9ZH3HCGT\G0K%<>F2XK',BPEKM"X'=T`D#V`C"5>;_QX%L<
MNHC@@Q6/L&9V" 8URR!ZWM/DRIPR)%YWZ%#O@G=\%-):!<=ZPNT02"#[.>F*
MU4975L%>SBK=[5/D("4S'"TN%NYZ7?$-S'N(L]I5O]FF.F)W&GBSDCJL8:]"
M?H?\9YM'6X\=Y/UR5I#WS'3AG'4[*PYY1Y=,OH\SP:-A@&(R/+=2460;"X\6
MR26\Q^%@"L;8[]% ]K?6O>&AC*G<;\=:)XOQG$O%DYPASN-C\-2>6,SV9&C5
MN._%MG^CQA:I0;FFTP2;)]H?5;$XK.WJT*LK4NJ_63_.K)[U_]QN'8L5V7ZD
M6Y>IH3ZI)7K^U/ -%2HT^8N*$)ALXA'Q\P=MY-AC?J@METHPSTB?K0$#NX;"
M0/#D%/;T_)=J?Z:3OU!+!PA*B&(5@P(``/((``!02P,$% `(``@`<7OP+ ``
M`````````````!0```!S9G-B+U1R861E<D)E86XN:F%V8>U82W/;-A"^>\;_
M84<GRE8H-Z<F3C*Q77>:3";-6&DZ/8+@RD(,$BP`RM9T_-^[>% "*<F)<^CX
M4/E@$?M^?(L5&\9OV#4"WK&JD6AR,S?%Z>'!X8&H&J4M?&5+=I?CUR*_T,@L
M7MYQ;*Q0]>D.EAD:0Z1S9 ^1+U1M\<X..6I6B?HZ?YCZKA96,/DPTT?_+_7T
M\&!Z='1X`$?P6;,2M?,0A $&QE)0\U9"XGL.GQ=$O'P?V*1LC=7$9EYZ%:]:
M^29\D>(-G+565<P*#@UJ(XS%FB.H>= ,!=I;Q!HXD]* 56 7F-K:*/I,!%8(
M*>S*\4FE;J!M8,EDBP;F6E5>MB A`U@OA59UA;7M:VB--W[6-%)PYL)_5N)<
MU%A2C6-"3!"9QCC\TUO6VH72<*&:E1;7"PL9'\-/+U[\_.SYR<ES*%9P?GD&
MLQ4%6)D)O*MY#F=2PI5C-G"%!O42R]QIFQX>-&U!#@"7S)A>TEV;.;=-F@7X
MQ]4(?,Y(BOQE$@JEI*-]N;PZ_WUV":_!ZA9/`V>CQ=+EM]]3P.W=:4KNSI-\
M]>BE(C^1%+.26N:<24;5BR9"RP`E9X;DKDN^"=: ![5YH$>NMPW3K'(N0/\S
M\+'[Z=T1X5!P]1[%A*W5*(DJNW+9MOACEWNG!6IKK/1EH1O/"Q'X]/ 9:FS
M<^?BZW6N[H?A^NZOD/JA="#1^'<K-#40]8!+`N$"9@UR,8\=-HER16L=?ZVL
M:\/(3P=QN/2RM14K#8@S;GU5LGY,":4?S9-Q_!,U^1[UZ0GZOH55FJYP^]P
M_@BGN=(:3:/J<CWFN+\QUE'5_G"A*J3O%O6<<8R*1F%"_$:TW(WR4;ZV@.!A
MA23@\&#<='-Z[*V*FFF,:U)9$K8I.3*'/Q<8;'$IZ##,WJCP%5<EODG,!2>S
M\:NIITR"((&'T=#40***N]D/;GC5-*#B>(_Z8G'<G&)U&<=\,$)9O.@K'\R+
M]4 >S(N]=VX4W/L1/C4N&>YJ:[2BV5:%,M!T6U\?G7V#N%/->AD@%YZ?Y 4S
M@N?=11G'2QY2N+^QNM#)JE:W!@:A#/LMD+>FE5YUC #]NQ_(UFNH\79PGG6R
MD Y]8LTBPY@D<W>[MDTV<JE^R5753(EY;?:>_+!\`=E@DR!SXXT_/C#OP2"V
M;'2A6EEZ4';7>+PQ-B:2<=R_?<C5D_QD-^#.VY4!LZ!^]SAPZXOB-_XF84#;
M#PT`3LL*];7>?3=%(L452S^SVK7&121X)7T9;V*VJ@HEH2<S\[:-IPQ$@H=I
M9U()/K9501;<:A3H-":*=M6):K2M'D*!/K[1:+UHI0W?(3Q\"T7?U<6?M.+N
M*Q59:Z5_#&DUH!.&VX6@78)"ZL 6XMS&2!H2L6<QH6EU)EV6D_1/?!J#TG'7
M/QY<#X61`HV,03:"XWXC',-H`NXT+?7F,!2+GL>^>X.ZN#C1'N4[]IKV#B?\
MR3UGB9X-DGL]_HSP&!4?!27C4YA.P;0%<7)+F=)\P4RW^7)F%L X5ZU;>(/*
MV# .@$E"H]I)T#I)2?GY'W_MN<EFZ.;V_\AZTL@R5*3'0,OQ_W?8<M:>!KB.
M=X#KQT$SN_SP80]JKKRR\-.(M[3_40J+Z(0'472L^YDS0,Z^OHSAQW"V:QSI
ME);(LEE?H\JMWW/?<#Z />0[0/Y:+&F)].<[\?XH['XCT-G&^E.%'E\@O^FP
MEWBZNRQ)MVXC;0S?!2](\-5;`V,RL^P7;V^<KGG=7I>:&^?!L2_N14KVHRO>
M7C>S45KQ'4CO='W/9T1)Q/!K#N^$L3LV4C_J?U6Z8C9Q>OXXK[/1NWK))&WJ
MFYX/&!@=[Y@O]PF NC<G?L]W@Z^K\-H!,<_B*YO$I_#B*%>MS4E#;66=F:%Z
M;Z'[^Q=02P<(9'2P#(,%``":% ``4$L#!!0`" `(`&V&\"P`````````````
M```5````<V9S8B]4<F%D95)E<W5L="YJ879AE51-;QHQ$+U'RG\8<8(D74A.
MC=!*(54.E:*H@D15C[+`$[,+K*]M#3*?^_X8XG-EU3#`>R9Y_?>O-T5EF\X
M)Z N%Q)TIF>Z6)X?F88KFJE8%77&,FZFQ"2J 4?[&0Y"KZ%Q?G9W !SPNA
MH92H-2B:22J-!K,@_J,;R;_K&2 4S::O24HP"BN-I1%UE=EV!W&'C5G4"K[5
MJXT2\X6!;MF#Z]O;KU]N!H,;*#9P_S""R48;6NHK^%Z5&8P8;6R+-8Q)DUK3
MU"'VS\]632%%"3-1H0S4GA5.:>PH@;!:EU1Q9ZP*WJTL@-"M#9HMB*@,3!X>
M'R&'P?!4T?W++^"BZV' 4F*-AMP1KZI9%J0<E^G0;O3[\.3VK$UZ@6P:&X=2
M;J"H&^L$VZ)K.3T`YEUT,'XQV,\%L?>JA?I-BDX`3>O&ZN:_)44X%NB'W3L!
M`V@2MR)_N[UW>_#ASWU,@*<\)M.HRH>CVA6-U10T<@0]&YCQ/1@:.3SNVIW\
ML ^<K'BP=?'*\<M\6VB^6Z'"9>*\%VE=W//>N(*TU1.*5_ M\6AK2MP:B$;+
MWCKRNP;?J&KKE3,'][email protected]\ETK]S%GDX/W'R !R%TEAB3IPF-
MRA(3\A"9Z#Q1FK?9C'(0*%L:<S)/T37=+:%@PAZ'%&)="\[*#@;LZH?>_Z@\
M2-+/Z=F.:8_C48$MN[@Y,C^E%?9.^!6&R&Q<VO9X? [B, W?E60AI>"W\J-
M$Z-$-0=3^Q^?!,*!?\WO> J7T D/1B>D1,RZK=K<O4JW0-!B7.;0L8]1V_(!
M)#4=+/,OHVUA:\GVG)]$?C=X;?QT=YA0'-E@GF]H1?/W'U!+!PB:]3)^?0(`
M`! '``!02P,$% `(``@`>7OP+ ```````````````!0```!S9G-B+U1R861E
M<DAO;64N:F%V8854WV_:,!!^1^)_./'4(FH83ZM:312$M$U[HI7Z[#@7XBZV
M(]LIH&G_^\YV$FBVB?" <CE_]_VXI.;B)]\CX)&KND+'7.&RA_$H_*2JC?7P
MQM\YLTJR'2KC<7L46'MI],.'CB/#MXQM+/(K+=OOZZ]&89PQGT['(YC"2RD=
M2.W1%EP@T(TO$4IJNZ@6QL;RB^4YVC5RS0+J+"(<2BE*:H97S'Z8O10!1 9)
M"@DAA^P4#PN3X]T>-5H>JL)HSR7=11!1<><N\#<,GH8L%#^!:^HHRF@$(J6,
M)>"H/,(H]*7)W:PEI1KG:9"UZ&JC<_"FZP#-%9&8D"W)N$E0$&B224%?@(N0
M*][0"0L;4Y^LW)<>;L0M?+J__WRW7"R60=UZ^P3/)^=1T>1O6A#WJH)=:':P
M0X?V'?.(.!^/ZB:K@D>]K"0Z!$.KX%$3N38H^!62`DA909=6DG"ARP5A@7NO
MINMI-66DJ$68##*<L!X:H>:6;"%BX)"HFR*>]H>S;9S\ECGE*@6O&+R6F":(
M2E(1J%BY%O Q!/[EK(ZEG&YN'^?QR:S=BO,:A%,$8 2UT2A-])WGFCQJF:1L
MZ$F>)K4S>MD]=BNJQ5Q9](W5\->5R'5=V+T[@Z[!RP<RD@E&=%+_>W'2IU2C
MR:UPU(6==6E3H."R:BQ>FSYXKZ]-O"!'T]%:FAB-EWH_W(650_PG2/])(F>7
M"Y9Q)P6C*#P63?6,SA$1=EZD!#<!- ZD(7=0TT9J#&XJ8#3VE3]+O\>@/4$L'
M" 1*W&$\`@``$@4``%!+`P04``@`" `C3+4L````````````````&0```'-F
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
M912(K:35]0^YZ)U@WW"G+*X.*996*#EV<'B5_4AE1FGUV_V?R2.F=B@F
M" JU$:E/Q#"4J<I0&W;_?KVZ>;=JCM[@[5N[%0;2@AL#]$(!=5&#J66ZU4J*
MOS%CY*XH0%@G?ZR,!2Y;R.'V3>S<E%52B#2X6:,QE.^#IO:@)E6+,C/0(7QT
M%@"E%GMN$8SEEFPG5F9\O .)SQ.=*%X._83FMI8FV(3/$^40M%!R0UH'^SO6
MI+^8TQF!!@DW>/..$ WN1U(?Q+D(L)JMJHH,$@0AP:@=0JID+C:0BP)G0N5"
M\J))RA):JK(4!:[A5[A9T.-ZL5@LR?<U[(0,(#; SV.X0?M%DDBF&,5'IPZ@
MT59:3N#U9;^,VS+%.MB[FGTG(["Z0HB92;>8506^MY_$`;-O9$PR*O^J+:)[
M@7@4*>0^X!JLK194O<:-,-8%Z?@-Q/;PUN82E)]\[ZC8KTTC0ZNA8P(K*QLY
MM:LABSYRRZ.A5VCM`D9D<"[=/KM"J:>JC(8Y=6GV\2!SCSN(!M_B+DTJ(6HL
M0R(BCQJ+7XAL%5W"^ B-!/QWEG+93 GRF?/"X+(5AQJ\5E=CD+X@:1XGFLY_
M*S]3]5Z)C,Q<W''!(3E+FL\&)O/K"B8S+\R!_PO028C:PCJS-M4AM#"!IE6*
MYS!H;^D,4X>TZZZ(/U]>=DF.B'H12GOS5=U>P&4W?B[API_;_-8UW8 =$QE*
M*VSMYM@'&C*1YW"3=!0/D&B\]P,JC/W[*L_=12*QP^^^MFB\'?Q7LC=MKZ0O
MM#&>+)J/F%0;9G@=P45$@T?;^+;K@B$G4>PJG'P:U-#.<'MBB/?#O;?)%577
M+F*WINYZ<\* %O"::!,S$52HQ:3%MMRXQKE33QF_K\$;.1+Z8TS*LM'L6G.&
ML-Z!0_LO7E08];GV?!U<W1[.6=9VSCS'8.B,KIJNC_WI'*D]L5-NTVTTO8R
M`Q@&]*.IS8C_TA:2FEI)GM#6MRI<?T]8A%/^]S_#?_LZGF(S`]'MI\[PI;O6
MYYE+ORO_FK<_#HEF%8]^A1PI0J8S^RSDF"A5(/U:=25TC0Z7<;2W_FDO@E^_
M/0T(BVDP@%.KHQ]\]/@.4$L'"$2@FD>S`P``8@L``%!+`P04``@`" #,5O$L
M````````````````&P```'-F<V(O=V5B<W,O=V5B+7-E<G9I8V5S+GAM;.U8
M36_:0!"]YU=8ON,E[:$2@AS2JE*EII5*#KVN[0FXV0]G9QU#?WWWRV8-A*:H
M$4T:3NR;V9EY;V?'AFD+^0A!W5<%X,59,HW629((RF&67JWG'DG/#-:H:I:2
M(::I6H#^8KRQIH79LM2ZGA"B@=?&/Y-J05(3/IGJ=>T2F:\K+"=8+('3Q'Y6
MG F<&+#?W;9MUKYUF]^,Q^?D^]7GN?-W.;L=J 7.TA_TGDY@17G-`#.\P3PX
M4:U5E3<:/DK%/\ -;9B>I7<-9=5-!67P`@8<A#[HLT-R3T['S%,KI,57UX:P
MVQ[$O%:TA&^ )D7P#DK 70.B@(!Y,)25A ^GJZ]%T2C#]SP4U<>EA:ZDN*:W
M(#8FJ_8LM9$JH3<PK\0F3I^01!F/K4(T/ ?E.)8G+*-676=NY2]EDS,XH@2/
M#0_)8]$Y^[XFF\9V+4_ZGI^V6)83NQQQ6M>56!S5^*'O):U-+?TFGQ$S8[4F
MM]M^(<9)EB87B7?;2@;Y<J"9H4+LY0>%I&7X;NPEV2U[9(11ZV03CA5L?. 2
M%HPBCOS9#.Q9?!V\KRF@,A?O)Z@#ON]E"45W+]WIV@HFN]%*^(-XX?P>H.L/
M<\?H8-L$4ABW,-NL$B/'.NK*X<P\I(J9PHC9QC\4MHGJ:QEFG<H:%+53(!31
MKWVVSGFW$%\"F@'7R<9!+V798:'=:ZHHQ^Y"*-"-$B,'#BZ?BO4?LK0$,D;%
M(IN;J2P6O9,_0Q.+VX$^,/D&<Z9'/QF2A,G"49^EN2S7_:0E<=7=+8YX34DO
MVE$:@BBW%+3(7OUVA4- -)D^E7]-.]1K9FR5>"(UGTK&O%EOR6B11\I8-*@E
M!V6?U,]1R;VMH65Q.U_S7+(70VE)S:38RR9^2X@)Q/BIJW_.=_6XX?V[!_>0
MW3[[@-"#+PLG&]X(C&V-'0>]SIW7N?//5/\Z=U[<W%F OJ3FU'JXFSZ1X7]X
MA3RN/;9^TL=4MDRG_"41+=W_;"3ZH^WB;+#$BU]02P<(F)N)C>\"``"6$P``
M4$L!`A0`% `(``@`*&+Q+ `````"``````````D`! ``````````````````
M`$U%5$$M24Y&+_[*``!02P$"% `4``@`" `H8O$LHC]CJT<```!'````% ``
M```````````````]````345402U)3D8O34%.249%4U0N34902P$"% `4``@`
M" `\:=LLRAG&>/<```# `0``#@````````````````#&````<')O<&5R=&EE
M<RYT>'102P$""@`*``````#N8?$L````````````````!0``````````````
M``#Y`0``<V9S8B]02P$"% `4``@`" `C3+4L:;[CHO@```"5`0``% ``````
M```````````<`@``<V9S8B]A<'!L:6-A=&EO;BYX;6Q02P$"% `4``@`" "8
M>_ L<')VA4<$```2#0``#@````````````````!6`P``<V9S8B]B=6EL9"YX
M;6Q02P$"% `4``@`" !:>_ LR4AK%N(&```\$P``$ ````````````````#9
M!P``<V9S8B]#;&EE;G0N:F%V85!+`0(4`!0`" `(`+-[\"R?8IV0U0$``.L$
M```0`````````````````/D.``!S9G-B+V5J8BUJ87(N>&UL4$L!`A0`% `(
M``@`(TRU+$58H$,""0``"!@``!$`````````````````#!$``'-F<V(O<&%C
M:V%G92YH=&UL4$L!`A0`% `(``@`77OP+-Z2X$95`0``I0(``"(`````````
M````````31H``'-F<V(O4')O8V5S<VEN9T5R<F]R17AC97!T:6]N+FIA=F%0
M2P$"% `4``@`" !N>_ L2HAB%8,"``#R" ``$ ````````````````#R&P``
M<V9S8B]4<F%D97(N:F%V85!+`0(4`!0`" `(`'%[\"QD=+ ,@P4``)H4```4
M`````````````````+,>``!S9G-B+U1R861E<D)E86XN:F%V85!+`0(4`!0`
M" `(`&V&\"R:]3)^?0(``! '```5`````````````````'@D``!S9G-B+U1R
M861E4F5S=6QT+FIA=F%02P$"% `4``@`" !Y>_ L!$K<83P"```2!0``% ``
M```````````````X)P``<V9S8B]4<F%D97)(;VUE+FIA=F%02P$"% `4``@`
M" `C3+4L3?.5%^<```"(`0``&0````````````````"V*0``<V9S8B]W96)L
M;V=I8RUE:F(M:F%R+GAM;%!+`0(*``H``````!UB\2P````````````````+
M`````````````````.0J``!S9G-B+W=E8G-S+U!+`0(4`!0`" `(`""-\"P2
M/H4LZP(``$(*```4``````````````````TK``!S9G-B+W=E8G-S+V)U:6QD
M+GAM;%!+`0(4`!0`" `(`%)<\2S/L8^'A@$``.<"```6````````````````
M`#HN``!S9G-B+W=E8G-S+T-L:65N="YJ879A4$L!`A0`% `(``@`'6+Q+"1)
MA4;)! ``X@\``!D`````````````````!# ``'-F<V(O=V5B<W,O37E397)V
M:6-E+FIA=F%02P$"% `4``@`" `E8?$L1*":1[,#``!B"P``'@``````````
M```````4-0``<V9S8B]W96)S<R]397-S:6]N5')A8VME<BYJ879A4$L!`A0`
M% `(``@`S%;Q+)B;B8WO`@``EA,``!L`````````````````$SD``'-F<V(O
L=V5B<W,O=V5B+7-E<G9I8V5S+GAM;%!+!08`````%0`5`%P%``!+/ ``````
`
end -
Help needed with process to call an external web service from within ABAP
Hello,
I have an understanding of how I can provision web service from within SAP so that it can be consumed by external apps.
Now, I am in need to know the, how I can call an external non-sap web service (let's say a java application) or even a public domain web service for that matter:
Is there any lay man's guide out there? which will list following step:
A sample ABAP program calling an external web service
List of all the configurations needed within SAP to make this happen (calling an external web service).
Any help will be greatly appreciated.Hi Matesh,
Please use the following command in Google : site:sdn.sap.com abap consuming web service
There is many samples of your needs on SDN.
Like this one :
http://wiki.sdn.sap.com/wiki/display/Snippets/WebServiceconsumerusingABAP-PROXY
Regards, Gilles. -
Is it possible to create WEB SERVICE in SAP 4.7
Hi guys,
is it possible to create WEB SERVICE in SAP 4.7 ?
i want to make a FM as web service enabled.
plz advice.
Regards
pabiHi,
The definitive (and in my experience only) documentation on this is at;
http://help.sap.com/saphelp_47x200/helpdata/en/94/f8c8a2e68811d6b2dc00508b5d5211/frameset.htm
This same information is available combinded as a single pdf, but I can't find this.
Regards,
Nick
Maybe you are looking for
-
Problem with a transport order
I release a transport order in DEV, I want to change the Target System because this field is initial (Local Change Requests). I want to tranport de order to QAS, I can't change the order when it is released. How do I to undo the release? Best Regards
-
Why is the time in every official picture or video of an iDevice always 9:41 AM ?
I have seen in every official picture or video that the time is always 9:41 AM. I wonder what is the reason after this ? Any help is greatly appreciated. THANK YOU
-
[SOLVED] Strange behaviour of Query-by-Example (QBE) fields
Hello, Jdev 11g TP3. We have a QBE-Block with input fields. Follwing steps are performed: 1) Change to find mode: #{bindings.Find.execute} 2) Enter search criteria into the fields 3) execute query: #{bindings.Execute.execute} 4) change to find mode a
-
Hi Experts we have new ISE servers at our network and it work good . but lately i faced the below problem : the ISE integrated to get the authentication from the microsoft active directory which depend on the windows login username / password , and t
-
Transport rule to mark message as private?
I have been asked to mark all messages from a particular sender as private when they arrive in our system. This is so that the admin assistant who has access to the recipient's mailbox can't see them. Is this possible?