Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   ASP .Net (http://www.velocityreviews.com/forums/f29-asp-net.html)
-   -   2.0 Framework calling WCF service. (http://www.velocityreviews.com/forums/t498886-2-0-framework-calling-wcf-service.html)

=?Utf-8?B?R3JlZw==?= 04-15-2007 02:06 AM

2.0 Framework calling WCF service.
 
I have just created a WCF service that is using WShttpbasic and all is good
when another .net 3.0 application consumes it. However, I have legacy apps
that must use this service and are running on .net 2.0 and are housed on
Windows 2000 servers.

I have been unable to find ANY info on how to do this, or if it is even
possible.
I find it hard to believe that WCF would not be able to be consumed by 2.0
applications.

Please help!


Teemu Keiski 04-15-2007 06:12 AM

Re: 2.0 Framework calling WCF service.
 
Hi,

are you able to get the WSDL exposed by the service? If your service is on
local IIS say service.svc try putting http://localhost/service.svc?wsdl

If not, adding ?wsdl to the url should expose it, and you should be able to
use that to reference the service from legacy side.


--
Teemu Keiski
AspInsider, ASP.NET MVP
http://blogs.aspadvice.com/joteke
http://teemukeiski.net



"Greg" <Greg@discussions.microsoft.com> wrote in message
news:BA21D878-FB39-4D17-9DE9-F0FF6D5DF4E1@microsoft.com...
>I have just created a WCF service that is using WShttpbasic and all is good
> when another .net 3.0 application consumes it. However, I have legacy apps
> that must use this service and are running on .net 2.0 and are housed on
> Windows 2000 servers.
>
> I have been unable to find ANY info on how to do this, or if it is even
> possible.
> I find it hard to believe that WCF would not be able to be consumed by 2.0
> applications.
>
> Please help!
>



=?Utf-8?B?R3JlZw==?= 04-15-2007 01:14 PM

Re: 2.0 Framework calling WCF service.
 
I am able to add the web reference to the project; however when I try to
implement it all that I have to choose from is the Cass object, Interface,
eventargs, and eventhandler.
Example:
OracleService.BasicEmployee;
OracleService.GetFullEmployeeByEmployeeIDCompleted EventArgs;
OracleService.GetFullEmployeeByEmployeeIDCompleted EventHandler;
OracleService.WSHttpBinding_IBasicEmployee
(Service = web reference)

In testing I have tried using Service.WSHttpBinding_IBasicEmployee , However
I just get a time out message.
Example:
OracleService.WSHttpBinding_IBasicEmployee proxy = new
WSETesting.OracleService.WSHttpBinding_IBasicEmplo yee();
OracleService.BasicEmployee[] arrayemployee =
proxy.GetEmployeeByEmployeeID("12356987");
OracleService.BasicEmployee;
OracleService.GetFullEmployeeByEmployeeIDCompleted EventArgs;
OracleService.GetFullEmployeeByEmployeeIDCompleted EventHandler;
OracleService.WSHttpBinding_IBasicEmployee
foreach (OracleService.BasicEmployee emp in arrayemployee)
{
string me = emp.FirstName;
}

I have also tried to run the wsdl.exe I received the following error:
Microsoft (R) Web Services Description Language Utility
[Microsoft (R) .NET Framework, Version 2.0.50727.42]
Copyright (C) Microsoft Corporation. All rights reserved.

Warning: This web reference does not conform to WS-I Basic Profile v1.1.

SOAP 1.1 binding was not found: WS-I's Basic Profile 1.1 consists of
implementation
guidelines that recommend how a set of core Web services specifications
should
be used together to develop interoperable Web services. For the 1.1 Profile,
those specifications are SOAP 1.1, WSDL 1.1, UDDI 2.0, XML 1.0 and XML Schema.

For more details on the WS-I Basic Profile v1.1, see the specification
at http://www.ws-i.org/Profiles/BasicProfile-1.1.html.

Warning: one or more optional WSDL extension elements were ignored.
Warnings were encountered. Review generated source comments for more details.

Listed below is the Service code:
(Employee.cs)
using System;
using System.Collections.Generic;
using System.Text;
using System.ServiceModel;
using System.Runtime.Serialization;

namespace OracleServices.OracleContracts
{
[DataContract()]
public class BasicEmployee
{

private string _employeeID;
private string _firstName;
private string _lastName;
private string _middleName;
private string _suffix;
private string _supervisorID;
private string _email;
private string _title;
private string _ssn;
private string _workPhone;
private string _companyCode;
private string _companyDesciption;
private string _locationcode;
private string _dateofbirth;
private string _employmentDate;
private string _employeeTerminationDate;
private string _terminationAppliedDate;

[DataMember(Order = 0)]
public string EmployeeID
{
get { return _employeeID; }
set { _employeeID = value; }
}

[DataMember(Order = 1)]
public string FirstName
{
get { return _firstName; }
set { _firstName = value; }
}

[DataMember(Order = 2)]
public string LastName
{
get { return _lastName; }
set { _lastName = value; }
}

[DataMember(Order = 3)]
public string MiddleName
{
get { return _middleName; }
set { _middleName = value; }
}

[DataMember(Order = 4)]
public string Suffix
{
get { return _suffix; }
set { _suffix = value; }
}

[DataMember(Order = 5)]
public string SupervisorID
{
get { return _supervisorID; }
set { _supervisorID = value; }
}

[DataMember(Order = 6)]
public string Email
{
get { return _email; }
set { _email = value; }
}

[DataMember(Order = 7)]
public string Title
{
get { return _title; }
set { _title = value; }
}

[DataMember(Order = 8)]
public string SSN
{
get{return _ssn;}
set { _ssn = value; }
}

[DataMember(Order = 9)]
public string WorkPhone
{
get { return _workPhone; }
set { _workPhone = value; }
}

[DataMember(Order = 10)]
public string CompanyCode
{
get { return _companyCode; }
set { _companyCode = value; }
}

[DataMember(Order = 11)]
public string CompanyDescription
{
get { return _companyDesciption; }
set { _companyDesciption = value; }
}

[DataMember(Order = 12)]
public string LocationCode
{
get { return _locationcode; }
set { _locationcode = value; }
}

[DataMember(Order = 13)]
public string DateOfBirth
{
get { return _dateofbirth; }
set { _dateofbirth = value; }
}

[DataMember(Order = 14)]
public string EmploymentDate
{
get { return _employmentDate; }
set { _employmentDate = value; }
}

[DataMember(Order = 15)]
public string EmployeeTerminationDate
{
get { return _employeeTerminationDate; }
set { _employeeTerminationDate = value; }
}

[DataMember(Order = 16)]
public string TerminationAppliedDate
{
get { return _terminationAppliedDate; }
set { _terminationAppliedDate = string.Empty; }
}


public BasicEmployee(string employeeID, string firstName, string
lastName,
string middleName, string suffix, string
supervisorID,
string email, string title, string ssn,
string workNumber,
string companyCode,string
companyDescription,string locationCode,string dateofbirth,
string employmentDate, string
employeeTerminationDate, string terminationAppliedDate)
{
EmployeeID = employeeID;
FirstName = firstName;
LastName = lastName;
MiddleName = _middleName;
Suffix = suffix;
SupervisorID = supervisorID;
Email = email;
Title = title;
SSN = ssn;
WorkPhone = workNumber;
companyCode = companyCode;
CompanyDescription = companyDescription;
LocationCode = locationCode;
DateOfBirth = dateofbirth;
EmploymentDate = employmentDate;
EmployeeTerminationDate = employeeTerminationDate;
TerminationAppliedDate = terminationAppliedDate;

}
}
}
(IBasicEmployee.svc)
using System;
using System.Collections.Generic;
using System.Text;
using System.ServiceModel;

namespace OracleServices.OracleContracts
{
[ServiceContract(Namespace = "http://EMSC.OracleServices")]

public interface IBasicEmployee
{
[OperationContract()]

List<BasicEmployee> GetEmployeeByEmployeeID(string employeeID);

[OperationContract()]
List<BasicEmployee> GetEmployeeByLastName(string lastName);

[OperationContract()]
List<BasicEmployee> GetEmployeeByLastName_FirstName(string lastName,
string firstName);

[OperationContract()]
List<BasicEmployee> GetEmployeeBySSN(string ssn);

[OperationContract()]
List<BasicEmployee> GetDirectReportsBySupervisorID(string
supervisorID);

[OperationContract()]
List<BasicEmployee> GetSupervisorByEmployeeID(string supervisorID);

[OperationContract()]
List<FullEmployee> GetFullEmployeeByEmployeeID(string employeeID);

[OperationContract()]
List<BasicEmployee> GetEmployeeByLastName_4SSN(string lastName,
string ssn);
}
}


"Teemu Keiski" wrote:

> Hi,
>
> are you able to get the WSDL exposed by the service? If your service is on
> local IIS say service.svc try putting http://localhost/service.svc?wsdl
>
> If not, adding ?wsdl to the url should expose it, and you should be able to
> use that to reference the service from legacy side.
>
>
> --
> Teemu Keiski
> AspInsider, ASP.NET MVP
> http://blogs.aspadvice.com/joteke
> http://teemukeiski.net
>
>
>
> "Greg" <Greg@discussions.microsoft.com> wrote in message
> news:BA21D878-FB39-4D17-9DE9-F0FF6D5DF4E1@microsoft.com...
> >I have just created a WCF service that is using WShttpbasic and all is good
> > when another .net 3.0 application consumes it. However, I have legacy apps
> > that must use this service and are running on .net 2.0 and are housed on
> > Windows 2000 servers.
> >
> > I have been unable to find ANY info on how to do this, or if it is even
> > possible.
> > I find it hard to believe that WCF would not be able to be consumed by 2.0
> > applications.
> >
> > Please help!
> >

>


=?Utf-8?B?R3JlZw==?= 04-15-2007 01:24 PM

Re: 2.0 Framework calling WCF service.
 
Also, here are the bindings stated in the web config of the WCF service.
<service name="OracleService" behaviorConfiguration="returnFaults">
<endpoint contract="OracleServices.OracleContracts.IBasicEmp loyee"
binding="wsHttpBinding"/>
<endpoint
contract="OracleServices.OracleContracts.IBasicEmp loyeeEmploymentStatus"
binding="wsHttpBinding"/>
<endpoint
contract="OracleServices.OracleContracts.IBasicEmp loyeePersonalAddress"
binding="wsHttpBinding"/>
<endpoint
contract="OracleServices.OracleContracts.IEmployee Locations"
binding="wsHttpBinding"/>
<endpoint
contract="OracleServices.OracleContracts.ILinkOrac leMessage"
binding="wsHttpBinding"/>
</service>

"Teemu Keiski" wrote:

> Hi,
>
> are you able to get the WSDL exposed by the service? If your service is on
> local IIS say service.svc try putting http://localhost/service.svc?wsdl
>
> If not, adding ?wsdl to the url should expose it, and you should be able to
> use that to reference the service from legacy side.
>
>
> --
> Teemu Keiski
> AspInsider, ASP.NET MVP
> http://blogs.aspadvice.com/joteke
> http://teemukeiski.net
>
>
>
> "Greg" <Greg@discussions.microsoft.com> wrote in message
> news:BA21D878-FB39-4D17-9DE9-F0FF6D5DF4E1@microsoft.com...
> >I have just created a WCF service that is using WShttpbasic and all is good
> > when another .net 3.0 application consumes it. However, I have legacy apps
> > that must use this service and are running on .net 2.0 and are housed on
> > Windows 2000 servers.
> >
> > I have been unable to find ANY info on how to do this, or if it is even
> > possible.
> > I find it hard to believe that WCF would not be able to be consumed by 2.0
> > applications.
> >
> > Please help!
> >

>



All times are GMT. The time now is 01:54 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.