Adding C# Soap Header to a client that calls BT2010 Orchestration published as a WCF Web Service

I've added code from this reference to my orchestration (that is published as a WCF webservice):
Accessing SOAP Headers in Orchestrations.
I have a C# client that I was previously using before I was using any of the SOAP Headers.  I've been looking at dozens of blogs, and find the answers to anything related to SOAP Headers most confusing (and often specific to unique cases). 
I'm using BT2010.  How can I add username, password, and a custom header called "ApplicationID" to my existing C# program and pass it to the orchestration/web service?
Thanks,
Neal

Neal,
The BizTalk WCF Service Publishing Wizard does not include custom SOAP header definitions in the generated metadata. To publish metadata for WCF services using custom SOAP headers, you should manually create a Web Services Description Language (WSDL) file.
You can use the externalMetadataLocation attribute of the
<serviceMetadata> element in the Web.config file that the wizard generates to specify the location of the WSDL file. The WSDL file is returned to the user in response to WSDL and metadata exchange (MEX) requests instead of the auto-generated WSDL.
The following XML data shows an example of a part of the WSDL file defining custom SOAP headers:
<wsdl:operation name="Request">
<soap12:operation soapAction="http://Microsoft.Samples.BizTalk.NetTcpAdapter/OrderProcess/IOrderProcess/Request" style="document" />
<wsdl:input name="Order">
<soap12:header message="i0:Order_Headers" part="SalesAgent" use="literal" />
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output name="OrderConfirmation">
<soap12:header message="i0:OrderConfirmation_Headers" part="PaymentAgent" use="literal" />
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
Refer:
SOAP Headers with Published WCF Services
Rachit
Please mark as answer or vote as helpful if my reply does

Similar Messages

  • Newbie: adding a SOAP header

    I want to add this header to a web service. I don't know how
    to make this.
    Please help me (if you can).
    <SOAP-ENV:Header>
    <wsse:Security xmlns:wsse="
    http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
    <wsse:UsernameToken>
    <wsse:Username>user</wsse:Username>
    <wsse:Password Type="
    http://docs.oasisopen.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#Password Text">passtext</wsse:Password>
    </wsse:UsernameToken>
    </wsse:Security>
    </SOAP-ENV:Header>
    Thanks,
    Cristy

    Neal,
    The BizTalk WCF Service Publishing Wizard does not include custom SOAP header definitions in the generated metadata. To publish metadata for WCF services using custom SOAP headers, you should manually create a Web Services Description Language (WSDL) file.
    You can use the externalMetadataLocation attribute of the
    <serviceMetadata> element in the Web.config file that the wizard generates to specify the location of the WSDL file. The WSDL file is returned to the user in response to WSDL and metadata exchange (MEX) requests instead of the auto-generated WSDL.
    The following XML data shows an example of a part of the WSDL file defining custom SOAP headers:
    <wsdl:operation name="Request">
    <soap12:operation soapAction="http://Microsoft.Samples.BizTalk.NetTcpAdapter/OrderProcess/IOrderProcess/Request" style="document" />
    <wsdl:input name="Order">
    <soap12:header message="i0:Order_Headers" part="SalesAgent" use="literal" />
    <soap12:body use="literal" />
    </wsdl:input>
    <wsdl:output name="OrderConfirmation">
    <soap12:header message="i0:OrderConfirmation_Headers" part="PaymentAgent" use="literal" />
    <soap12:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    Refer:
    SOAP Headers with Published WCF Services
    Rachit
    Please mark as answer or vote as helpful if my reply does

  • Custom Timer Job to execute WCF web service error - Could not find default endpoint element that references contract

    Hi,
    I am currently creating custom timer job to call WCF web service to perform nighty job to update employee document library metadata. If I update regular list/library items it updates correctly on a specified interval basis. However when I try to integrate
    the WCF client, it throws error shown below :
    Could not find default endpoint element that references contract EmployeeServiceReference.
    EmployeeServiceClient in the ServiceModel client configuration section. This might be because no configuration file was found for your application, or because no endpoint element matching this contract could be found in the client element.
    I followed exact instructions Andrew Connell has provided but included my logic in execute()
    public
    override
    void Execute(Guid
    targetInstanceId)
    var empClient =
    new
    'ServiceReference.EmployeeServiceClient();
    var employee = empClient.EmployeesMethod();
    I have tried all approaches to manually adding app.config settings in sharepoing web.config but still it throws the error mentioned. It seems that application config and sharepoint site config binding issue still exist and cannot be resolved.
    <system.serviceModel>
    <bindings>
    <basicHttpBinding>
    <binding
    name="BasicHttpBinding_EmployeeService"
    />
    </basicHttpBinding>
    <netTcpBinding>
    <binding
    name="CustomBinding_EmployeeService">
    <security>
    <transport
    protectionLevel="None"
    />
    </security>
    </binding>
    </netTcpBinding>
    <wsHttpBinding>
    <binding
    name="WSHttpBinding_EmployeeService">
    <security
    mode="None"
    />
    </binding>
    </wsHttpBinding>
    </bindings>
    <client>
    <endpoint
    address="http://services.mycomp.com/EmployeeService.svc"
    binding="wsHttpBinding"
    bindingConfiguration="WSHttpBinding_EmployeeService"
    contract="EmployeeServiceReference.EmployeeService"
    name="WSHttpBinding_EmployeeService"
    />
    <endpoint
    address="http://services.mycomp.com/EmployeeService.svc/soap"
    binding="basicHttpBinding"
    bindingConfiguration="BasicHttpBinding_EmployeeService"
    contract="EmployeeServiceReference.EmployeeService"
    name="BasicHttpBinding_EmployeeService"
    />
    <endpoint
    address="net.tcp://crmapp.mycomp.com:5050/EmployeeService.svc/tcp"
    binding="netTcpBinding"
    bindingConfiguration="CustomBinding_EmployeeService"
    contract="EmployeeServiceReference.EmployeeService"
    name="CustomBinding_EmployeeService">
    <identity>
    <userPrincipalName
    value="[email protected]"
    />
    </identity>
    </endpoint>
    </client>
    </system.serviceModel>
    Will you please help resolving this issue?

    Hi,
    You can use any of the three approaches:-
    1) Access web application's web.config programmatically in Execute() method.
    http://praveenkasireddy.wordpress.com/2012/12/14/access-web-application-configuration-values-in-timer-job-sharepoint/
    2) Store the configuration in xml and upload it to SharePoint document library then read from there
    http://www.sharepointdynamics.net/2011/08/using-an-xml-settings-file-to-store-values-for-your-sharepoint-projects/
    3) Programmatically configure a WCF endpoint.
    http://msdn.microsoft.com/en-us/library/ff647110.aspx
    Regards, Shruti

  • Problem making modified WCF web service operation compatible with old client

    Hi,
    I am trying to make a modified version of a a WCF web service work with old clients. The method signature looks like:
    [OperationContract]       
    itemList GetItemList(getItemList param);
    I am adding elements to the "getItemList" class which should be optional. The class is generated from XSD schema with xsd.exe (this means we are using schema-first design). The new element is:
    <element name="itemOwner" type="string" maxOccurs="1" minOccurs="0">      </element>
    and the new generated code in the getItemList class becomes:
    private string itemOwnerField;       
    public string itemOwner
    get {return this.itemOwnerField;}
    set {this.itemOwnerField = value; }
    When I look at the new WSDL it has:
    <xs:element name="itemOwnerField" nillable="true" type="xs:string"/>
    Now I was expecting the old client to still be able to call the new client, since the new field is nillable. The client has a service reference to the old version of the web service so it uses a C# stub. When the old client tries to invoke the new service,
    I get error:
    The formatter threw an exception while trying to deserialize the message: There was an error while trying to deserialize parameter http://tempuri.org/:param. The InnerException message was 'Error in line 1 position 754. 'Element' 'itemIDField' from namespace
    'http://schemas.datacontract.org/2004/07/ServerBaseAPI' is not expected. Expecting element 'itemOwnerField'.'.  Please see InnerException for more details.
    My interpretation is that the server side of the new service cannot deserialize the incoming message since it expects it to contain itemOwnerField. Why it that, when it is nillable according to the WSDL? What can I do to solve or work around the problem?

    Hi gaor.mawell,
    The nillable attribute is a special attribute in the XML Schema instance namespace that provides an interoperable way to explicitly represent a null value. The receiving end can interpret these as
    null, zero, and null, respectively. There is no guarantee that a third-party deserializer can make the correct interpretation, which is why this pattern is not recommended. The
    DataContractSerializer class always selects the correct interpretation for missing values. So have you tried to use the DataMember's
    IsRequired property? this
    DataMember's
    IsRequired property tells the serialization engine whether the value of itemOwnerField must be presented in the underlying XML.
    For more information, please try to refer to the this artcle:
    https://msdn.microsoft.com/en-us/library/aa347792(v=vs.110).aspx .
    Best Regards,
    Amy Peng
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Any existing BAPI that can be wrapped and exposed as a web service ???

    Hi ,
    I am designing PI Collaboration Platform and that all about Monitoring across SAP ECC, SAP PI and Non-SAP applications.
    BUSINESS CASE: Some clients are  looking for a solution that allows there management some visibility into the end-to-end aspect of processes, we will limit our discussion to SAP ECC and PI.
    SOLUTION: BAM ultimately helps solve this problem at an enterprise level - however that is a heavy investment for most organizations - is there an alternative that we can provide ? Example a generic web service that can be invoked from a 3rd party tool to provide reports.
    We do have solution :
    We can configure Proxy adapter and can write Java web service to invoke a method to extract the data from ECC and one or more report generating methods based on the standard ( like PDF,EXCEL etc)
    but we are still looking  for an existing BAPI that can be wrapped and exposed as a web service ????
    Need solution for the above ?

    Hi Sanjay,
    Yes  BAM  has a bigger take, if you are looking for PI monitoring reports  then please have a look at the following blogs which might
    give you some insight.this basically deal with reading data from SXMB_MONI tables.
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/909760cb-0ec8-2a10-4a96-ee8417acfbc9
    http://wiki.sdn.sap.com/wiki/display/Snippets/PIMonitoringFunctionality-FetchingDatafromSXMB_MONIStandardTables-PartI
    i dont think there is any BAPI as such atleast wrt to PI.
    Best Regards,
    Srinivas

  • OC4J client with WCF Web Service using Mutual Certificates

    I'm trying to generate client stubs for a WCF web service.
    I tried using docs here:
    http://docs.oracle.com/cd/B10464_05/web.904/b10447/tools.htm
    # OC4J 9.0.4
    Java sdk 1.4.2_03
    cd \dev\oc4j-9.0.4\webservices\lib
    - config.xml
    <?xml version="1.0"?>
    <web-service>
    <proxy-gen>
    <proxy-dir>output/clientclass/examples/webservices/simple_client</proxy-dir>
    <option name="include-source">true</option>
    <option name="wsdl-location">
    http://xxx.xxxxx.xxx:9000/WCFTestService/Service.svc?wsdl</option>
    </proxy-gen>
    </web-service>
    java -jar WebServicesAssembler.jar -debug
    - ends with NullPointerException:
    <output>
         Please wait ...
         ..parsing top level elements
         ..generating client side proxy for wsdl :
                        http://xxx.xxxxx.xxx:9000/WCFTestService/Service.svc?wsdl
         ....compiling client side proxy for package :proxy
         Exception in thread "main" java.lang.NullPointerException
                             at oracle.j2ee.ws.tools.WsAssmProxyGenerator.doCompile(WsAssmProxyGenerator.java:284)
                             at oracle.j2ee.ws.tools.WsAssmProxyGenerator.processProxy(WsAssmProxyGenerator.java:135)
                             at oracle.j2ee.ws.tools.WsAssmProxyGenerator.clientGenerate(WsAssmProxyGenerator.java:112)
                             at oracle.j2ee.ws.tools.WsAssembler.assemble(WsAssembler.java:96)
                             at oracle.j2ee.ws.tools.WsAssembler.main(WsAssembler.java:54)
    </output>
    - Then tried using Sun jdk to gen proxy:
    # Just SDK
    Java sdk 1.6.0_25
    wsimport -keep -extension -d output -s src -p examples.webservices http://xxx.xxxxx.xxx:9000/WCFTestService/Service.svc?wsdl
    <ListOfGeneratedJavaFiles>
    CompositeType.java
    GetData.java
    GetDataResponse.java
    GetDataUsingDataContract.java
    GetDataUsingDataContractResponse.java
    IService.java
    ObjectFactory.java
    package-info.java
    Service.java
    </ListOfGeneratedJavaFiles>
    - creates the service and port, but where is the stub?
    in my code I use the stub to set the certificate auth
         <codeSnip>
         // get the ws stub
         IService_Stub serviceStub = (IService_Stub)iSampleService;
         // add the credential providers to the ws stub
         serviceStub._setProperty(WSSecurityContext.CREDENTIAL_PROVIDER_LIST,
                                                      credProviders);
         </codeSnip>
    # WebLogic 10.3.5
    I'm happy to say that everything seems to work well under WebLogic 10.3.5.
    I used weblogic.wsee.tools.anttasks.ClientGenTask with ant
    to generate the proxy files.
    <ListOfGeneratedJavaFiles>
    IService.java
    IService_Stub.java
    Service.java
    Service_Impl.java
    </ListOfGeneratedJavaFiles>
    I understand how to use these files and everything works.
    But we need this to work in the OC4J orion server before we are ready to upgrade to WebLogic.
    I have also tried OC4J 10.1.2.0.2 - same a OC4j 9.0.4 - null pointer.
    I also tried Metro, but it uses wsimport, so also does not have a stub.
    I'm out of ideas. Any pointers or advice are greatly appreciated.
    Thank you.

    My guess would be that the server's certificate isn't in your client's trust-store (which defaults to "cacerts"). Chances are your senior architect has already imported the server-cert on his machine and forgotten he did so.
    Grant

  • Issue while adding WCF Web Service reference using Oracle APEX

    Hi,
    We have an issue with creating the Web Service Reference for the WCF web service:
    http://dev.virtualearth.net/webservices/v1/metadata/geocodeservice/GeocodeService1.wsdl
    The APEX gives the following error
    “The WSDL document could not be understood by the rendering engine. Click Create Web Service Reference Manually to continue creating a reference for this service.”
    Can you please tell me if creating the Web Service Reference for WCF is supported on the “out of the box“ APEX?
    Environment information:
    APEX 4.0.2.00.07
    Database 11.2.0.3
    Please note that we have tried it in APEX 4.1.1 from apex.oracle.com and the error there is different, it can connect even to ASMX wsdl.
    Thank you.

    I don't think that is it specific to just .NET web services. I have tried with a web service created with TIBCO BusinessWorks (Middleware product) that did not work either. The wsdl validated correctly in soapUI, so I think it just must be the implementation of the parser which is looking for some specific format.
    When in doubt, go with either the manual reference or with pl/sql using one of the api's.

  • Calling helper class that refrence to WCF web service

    Hi I have a BizTalk projects that calls a helper class. now the helper class receive the message and a counter and is suppose via the class to create a login to a WCF
    web service and then synchronize the message to this WCF web service.<o:p></o:p>
    this is class:<o:p></o:p>
    public static string SyncConcerto(XLANGMessage msg, int count)
    SelectResponse select = (SelectResponse)msg[0].RetrieveAs(typeof(SelectResponse));
    ConcertoService.ExternalMappingServiceClient concertoServ = new ConcertoService.ExternalMappingServiceClient();
    ConcertoService.ExternalMappingItem extMapItem = new ConcertoService.ExternalMappingItem();
    ConcertoService.ExternalMappingServiceResponse extLogonResp = new ConcertoService.ExternalMappingServiceResponse();
    ConcertoService.ExternalMappingServiceResponse extSyncResp = new ConcertoService.ExternalMappingServiceResponse();
    extLogonResp = concertoServ.Logon("*****", "******", true);
    if (extLogonResp.StatusCode == 1)
    if (count>0)
    for (int i = 0; i < count; i++)
    extMapItem.Attribute1 = select.SelectResult[i].CNS_CONCERTO_PROJECTSRECORDSELECT.REGION_NAME;
    extMapItem.Attribute2 = select.SelectResult[i].CNS_CONCERTO_PROJECTSRECORDSELECT.PROJECT_NUMBER;
    extMapItem.Attribute3 = select.SelectResult[i].CNS_CONCERTO_PROJECTSRECORDSELECT.PRODUCT_NAME;
    extMapItem.ProjectName = select.SelectResult[i].CNS_CONCERTO_PROJECTSRECORDSELECT.PROJECT_NAME;
    extMapItem.ProjectMgr = select.SelectResult[i].CNS_CONCERTO_PROJECTSRECORDSELECT.PM_NAME;
    //extMapItem.ProjectMgr = select.SelectResult.CNS_CONCERTO_PROJECTSRECORDSELECT.PM_NAME;
    extMapItem.Division = select.SelectResult[i].CNS_CONCERTO_PROJECTSRECORDSELECT.DIVISION_NAME;
    extMapItem.Subject = select.SelectResult[i].CNS_CONCERTO_PROJECTSRECORDSELECT.CUSTOMER_NAME;
    extMapItemArr[i] = extMapItem;
    extSyncResp = concertoServ.SynchronizeExternalAttributeData(extMapItemArr);
    if (extSyncResp.StatusCode == 1)
    return "sync success login success";
    else
    return "success login sync faild";
    else if (extLogonResp.StatusCode == 2)
    return "TimeOut";
    return "Failed";
    Now it keeps throwing exception in this line of code: ConcertoService.ExternalMappingServiceClient concertoServ = new ConcertoService.ExternalMappingServiceClient();
    saying he needs a valid endpoint. but he has the app.config file already that stats his endpoint.
    What am I doing wrong, since I have never done a thing like that before.
    And also I can't use the WCF web service in the normal BIZTALK way due to login operation he needs to do. <o:p></o:p>
    Any advice on how to continue?<o:p></o:p>

    the WCF has a logon operation where I enter a user name and password, it doesn't return a session key meaning I can't send a message to the WCF WS (Biztalk is stateless) that doe's the logon operation and the synchronize operation. so I had to do it with
    the helper class. 
    and Morten I know this is very bad practice but I don't have choice for now. 
    Morten another question since we are using Biztalk 2013 (New Enviroment) our BTSNTSvc.exe.config is empty:
    <?xml version="1.0" ?>
    <configuration>
    <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" />
    </startup>
    <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <probing privatePath="BizTalk Assemblies;Developer Tools;Tracking;Tracking\interop" />
    </assemblyBinding>
    </runtime>
    <system.runtime.remoting>
    <channelSinkProviders>
    <serverProviders>
    <provider id="sspi" type="Microsoft.BizTalk.XLANGs.BTXEngine.SecurityServerChannelSinkProvider,Microsoft.XLANGs.BizTalk.Engine" securityPackage="ntlm" authenticationLevel="packetPrivacy" />
    </serverProviders>
    </channelSinkProviders>
    <application>
    <channels>
    <channel ref="tcp" port="0" name="">
    <serverProviders>
    <provider ref="sspi" />
    <formatter ref="binary" typeFilterLevel="Full"/>
    </serverProviders>
    </channel>
    </channels>
    </application>
    </system.runtime.remoting>
    </configuration>
    where do I insert my end point and how?

  • Trouble with deploying a standlone Java app/client that calls an EJB

    Hey guys,
    I am well aware that there are many topics that are quite similar to this topic that I am posting but the fact of the matter is I have failed to procure a satisfactory answer.
    So a bit of background about the environment I am using. I am using Netbeans 5.5 development build, today's version, JDK 6 Build 77, and Sun Application Server 8.2 to create, run and learn J2EE 1.4 based apps following the Sun J2EE 1.4 tutorial pdf and the Netbeans 4.1 tutorial pdf which I realize is a bit outdated but it gets the job done for the most part.
    I have satisfactorily created and built the Converter application as described in the above mentioned tutorial pdfs. For memory refreshment purposes, it is the simple session bean example where it is stateless and remote and has 2 business methods:
    dollarToYen(BigDecimal dollar)
    yenToEuro(BigDecimal yen)So I have this EJB being called, for learning purposes, by both a JSP and a Servlet as well as a standalone Java client. Now since the development machine is where I am deploying and running the enterprise application, everything works without a hitch. Once I have the Application server up and running I am able to access and execute the EJB's methods through JSP and Servlet even from remote machines on my home LAN. I realize that since the JSP and Servlet are in the same application context as that of the EJB I am not requiring the client jar which is where my confusion starts coming in. I know I need the client jar when I try to run the standalone java client from a different machine because it simply cannot access the EJB I have written.
    Now I found this link below and I read it and sorta understand it. I also found that under C:\AppServer\domains\domain1\applications\j2eeapps\ConverterApp I see a file called ConverterAppClient.jar. Is this the so called client jar? If so how do I go about using it?
    Before I end my rather long post, let me detail the steps I used to create the standlone Java client. I selected java application in the new menu of Netbeans and gave it the name ConverterClient and the IDE then proceeded to create a main class for me with a main method where I stuck in the following code:
    try
                Context c = new InitialContext();
                Object remote = c.lookup("ejb/ConverterBean");
                ConverterRemoteHome rv = (ConverterRemoteHome) PortableRemoteObject.narrow(remote, ConverterRemoteHome.class);
                ConverterRemote converter = rv.create();
                BigDecimal param = new BigDecimal(100);
                System.out.println(param + " Dollars are  " + converter.dollarToYen(param) + " Yen.");
                System.out.println(param + " Yen are " + converter.yenToEuro(param) + " Euro.");
            catch (RemoteException ex)
                ex.printStackTrace();
            catch (ClassCastException ex)
                ex.printStackTrace();
            catch (NamingException ex)
                ex.printStackTrace();
            catch (CreateException ex)
                ex.printStackTrace();
        }and that code works when I call it from the same machine that the Application Server is running with the EJB deployed. I also added in the classpath of the client application, the j2ee.jar and the other appserv-rt.jar as well. Have I missed anything?
    I even tried using the deploytool but to no avail as all it generated for me was the same jar file that I found underneath the Application server application directory as I mentioned earlier.
    If anyone is willing to help me, I will upload my Netbeans project files and all you have to do is open it through Netbeans 5.5 to recreate the exact scenario I am talking about.
    Thanks in advance. I apologize for the rather long post but I thought it would be best to provide as much details as was possible.
    Cheers,
    Surya

    hI,
    Pls, I'm happy to know u r using application server. I have just started reading enterprise bean.
    But I could not set the path and some other configurations for it to start working.
    Pls, I would be most grateful, if u could put me through on how to configure application server.
    Right now, I'm in the state of dilemma due to the insufficient knowledge in it.
    My email is [email protected]
    Remain blessed

  • Limitation on data that can be fetched (ABAP RFC) via a Web Service?

    Hi,
    Is there any limit on the data that can be fetched via a Web Service (ABAP exposed as Web Service). I am trying to fetch PI monitoring data from ABAP Tables via a Web Service and there can be thousands of messages proceesed say in a day and what if user is provided the option of fetching messages for a specefic duration.
    Please advise.
    Neha

    Hello my friend
    If I understand your question correctly, there's an environment variable CPIC_MAX_CONV handles sessions between integration engine and adapter engine (ABAP and Java). By default, the value of this variable is 500, and you might want to increase it to 1000 at least, depends on system throughput. Recommended value from SAP for Production is 5000.
    Hopefully it's helpful,
    Effan

  • Web Service Call From Proxy Client in ABAP: View SOAP Request

    Hello All,
    We are working on a scenario where we have to connect to a web service from ABAP. We have extracted the WSDL, and generated the client proxy, and configured a Logical Port. However, at the time of actual call, we receive an error message "Header http://schemas.xmlsoap.org/ws/2004/08/addressing:Action for ultimate recipient is required but not present in the message.". We suspect that this is a problem with the SOAP Header, which might be missing some tags, which are required by the Web Service. Problem is, we can not trace the Web Service SOAP Header. We can not see it in SOAMANAGER, or any other transaction as such. Does any body have an idea where to look for the complete SOAP Request, in case of a Client Proxy call?
    Thanks and Regards,
    Sid

    Hello Sebastian,
    Thanks for replying. We are using a higher support pack level, and hence we do not use LPCONFIG; rather we use SOAMANAGER to manage the web service logical ports. Further, SMICM would display us ICM Logs, where as we need the exact SOAP request that has been generated. We tried ST11 with no luck.
    Finally, I feel this is a wrong forum to ask such an application related question. I will close this thread and open a new thread in either PI or ABAP Forum.
    Thanks and Regards,
    Sid

  • Jax-ws web service client

    Hi, I am confused by the web service document http://docs.oracle.com/cd/E17904_01/web.1111/e13758/use_cases.htm#i244846 section 2.4. The Note states:
    You can invoke a Web service from any Java SE or Java EE application running on WebLogic Server (with access to the WebLogic Server classpath). Invoking a Web service from stand-alone Java applications that are running in an environment where WebLogic Server libraries are not available is not supported in this release for JAX-WS Web services.If I understand it correctly, it says jax-ws only can be consumed by the clients that have access to wls libraries. My web service client will be 3rd party business parnter. Not sure if they are on wls or not. Does it mean I can't use jax-ws?

    When you just use the JAX-WS standard you do not need any WebLogic related classes to create a client for your web service.
    When the web service is deployed the WSDL can be accessed. By using this WSDL you can create your client by using tools
    such as wsimport (which comes with a JDK distribution and is located in the JDK_HOME/bin directory)
    wsimport -keep -d C:\YOUR_PROJECT\src http://hostname:port/context/SomeWebService?wsdlthe 'keep' option make sure the generated .java files are not thrown away.

  • How to add empty soap header?

    Hello,
    I created a web service proxy using WSDL and XSD files. Then, I created a sample request from client interface and sent the request as an object to call the web services. However, I am not directly calling the webservices as I am doing it through a Gateway. Here, the problem is, the Gateway accepts only empty SOAP headers and the Gateway inserts the security details in that SOAP header and will send a request to the original web services. Even if we add any element in the SOAP header, it is not accepting the request.
    While sending a request through the client interface(Java class), I am not able to generate a empty SOAP header and send as request. I tried several ways adding a empty header. but no result. Is there any way we can add empty SOAP header while sending a requesting through Java class(Client interface)?
    Thanks
    sekhar

    Thanks for your reply.
    I have tried different approaches for adding empty SOAP header with no elements. But, none of them worked. The only solution for this issue is to add OSB proxy which has the functionality to send empty SOAP header which worked for me.
    Thanks
    sekhar

  • How to Call web service operation by creating plain SOAP message in client?

    Hi
    Thank you for reading my post.
    I have some questions about using web methods of a web service which i would be very gratfull if you could answer.
    I should implement a web service that should receive a file with some other parameters from client and another web service which should receive some parameters and return a file.
    I used a mechanism like the following one to handle the condition and it just works. But I have a problem, I need to create dynamic invocation and I must create soap message and send it to webservice (no IDE generated code)
    What i need is one or two tips or a sample that shows how we can send and receive files by web services.
    I want to know how we can create the SOAP message ourself and then send it to the web service endpoint and it call the web method and ....
    Imagine the following web method, How i can invoke it by creating soap message myself and sending it to end point.
    @WebMethod
    public String saveFile(@WebParam(name = "fileName") String fileName, @WebParam(name = "fileContent") byte[] fileContent) {
    // TODO implement operation
    return "Something";
    Another question is :
    Does this mechanism that i used to transfer files is OK?
    Is it optimized or there are some other ways to do this job.
    I should say that i put one week on handlers to use soap attachments and i get no result.
    So, Please let me know if you know or have some sample that show me how to do the above job.
    Thanks.

    Hi
    From NW04s SP8 you can create webservice systems from within VC , and you will have the option of adding a user and password to authenticate. You can find it at Tools>>Define web service system. You will see a check box url requires user and password.
    If for some reason you can not do it in VC then you should create the system in the portal and fill out the usermapping screens.
    Jarrod Williams

  • ASMX to WCF Migration with SOAP Header

    Hi All,
    I am migrating my current Web Service to WCF. Everything seems to be ok with simple asmx service. But for some of my web methods I have SoapHeaders defined for authentication. In those webmethods I have at some places used custom classes too as parameters or return values.
    Now when I am converting my webservice to WCF, how do I write code so that it takes SOAP headers too. I tried to use Message Contract and Message Headers. But could not get hat right. In one of the posts on google, I saw code like the one below:
    SoapHeader("authHeader", typeof(ServiceHeader), Direction = SoapHeaderDirection.In)]
    but it gives a compile time erro of wrong no of arguments. Am I missing some using directive? Or is there any other way I can include SoapHeaders in my Operation Contracts for authentication?

    I appreciate you response to my query. However it is not fully gratifying my needs. Here is another explanation. I have an exisitng web service something like the the code below
    //My Soap Header Class
    public class ServiceHeader : SoapHeader
    public string userName;
    public string pasword;
    //My ASMX Class
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class Service1 : System.Web.Services.WebService
    public ServiceHeader authHeader;
    [WebMethod]
    [SoapHeader("authHeader", Direction = SoapHeaderDirection.In)]
    public string HelloWorld()
    string result = String.Empty;
    if (authHeader.userName == "uid" && authHeader.pasword == "password")
    result = "Hello User!!!!";
    return (result);
    This code works perfectly fine with asmx web services. Now I converted it to WCF with a condition that it should still work with my exisitng web service users. Here is my code after convertion:
    //My Soap Header Class
    [DataContract]
    public class ServiceHeader : SoapHeader
    [DataMember]
    public string userName;
    [DataMember]
    public string pasword;
    //My WCF Class
    [WebService(Namespace = http://tempuri.org/)]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [ServiceContract(Namespace = "http://tempuri.org/")]
    public class Service1 : System.Web.Services.WebService
    public ServiceHeader authHeader;
    [WebMethod]
    [SoapHeader("authHeader", Direction = SoapHeaderDirection.In)]
    [OperationContract]
    public string HelloWorld()
    string result = String.Empty;
    if (authHeader.userName == "uid" && authHeader.pasword == "password")
    result = "Hello User!!!!";
    return (result);
    I have also made necessary changes to web.config. My Client code is:
    protected void btnInvokeAsmx_Click(object sender, EventArgs e)
    Service1 oAsmx = new Service1();
    ServiceHeader authHeader = new ServiceHeader();
    authHeader.userName = "uid";
    authHeader.pasword = "password";
    oAsmx.ServiceHeaderValue = authHeader;
    Response.Write(Asmx.HelloWorld());
    The above code works perfectly fine with asmx service. But when I convert it to WCF, I am not able to pass header values to the service. Can anyone let me know the issue or ways to pass my service header values to new WCF service?

Maybe you are looking for

  • Bug in htmlConverter plug-in url produced for 1.4.0+

    Hi all, Could you please let me know if you get this url codebase="http://java.sun.com/products/plugin/autodl/jinstall-1_4-win.cab#Version=1,4,0,0" in java version "1.4.0" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-b92) Java HotSpo

  • SQl 2008 R2 Failover Cluster does not failover after fresh install

    I have installed a two node SQL Server 2008 R2 cluster. I used a Named Instance and the SQL Server and SQL Server Agent cluster resources are online on node 1. When I want to move the SQL Server group to node 2, the SQL Server resource fails to start

  • Polish characters on print preview are not correct, printing works well

    Hi gurus, i've got a problem with smartform print preview. Our programmer developed form, which is used in polish and english version. In polish version everything works fine - print and print preview has polish characters (ąłćźń etc). In english ver

  • I can't print a pdf nor can I fill a fillable pdf.

    Something changed about a week ago.  I can't print a pdf.  It state the document could not be printed, then there were no pages selected.  I have read the other forums and have tried to do updates, repair adobe, I have uninstalled and reinstalled it

  • Roadmap UI Component

    Hello all SDNers,                         I am carrying out development for a particular requirement on NWDS using WebDynpro Java on CE 7.1 Platform of Netweaver My requirement is of a Inquiry to Quotaion Process. So there are three Dynpro pages that